首页 > angularjs 绑定数据时 怎么转义html标签

angularjs 绑定数据时 怎么转义html标签

这是我页面的代码

如果 connect_status 字段返回的标识是 99的话
我就替换 <span class="flag">异常</span>
有谁做过类似的么?绑定返回的标签不支持html显示

我怎么做能支持html返回解析啊?
//高亮异常
myApp.filter('highlightText', function ($sce) {
    return function (input) {
        if(input=="异常" || input==99) {
            return $sce.trustAsHtml("<span>异常</span>");
        }else{
            return input;
        }
    };
});

<td ng-show="item.connect_status === '99'"><span>异常</span></td>
<td ng-hide="item.connect_status === '99'">{{item.connect_status}}</td>

我没太看明白你问题什么意思,按我自己的意思写了。
当等于99的时候,显示异常,不是99就显示状态本身的值(你也可以替换成你想要的值,但是不要加{{}}包)。下边那个过滤器就不要了。
注意第一个是ng-show,第二列是ng-hide, 99是单引号包的。


<div class="invoice-notes" data-ng-bind-html="news.content"></div>
这样绑定的值,html会被浏览器重新解析,但是要注意一点,需要设置成安全标志,
$scope.news.content = $sce.trustAsHtml($scope.news.content);


楼上说的 使用$sce.trustAsHtml 是可以的 但是我记得 必须使用 ng-bind-html 之前我也遇到过类似的问题 如果使用trustashhtml 的确有些许的麻烦 后来我找到了一个angular的一个模块 angular-sanitize 搜索即可

然后在页面引用 并在创建modoule的时候 引用即可 这样的话直接 赋值 并且{{}}一样是可以自动转义 html标签

//添加 angular-sanitize.min.js 并且依赖注入 ngSanitize  
var app= angular.module("myapp", ['ngSanitize']);

我说的可能有些乱 不过 你可以搜索angular-sanitize模块

【热门文章】
【热门文章】