關於angularJS自動轉義html標籤
方案一.
html:
<div ng-repeat="article in articles">
<div class="panel-heading">
<h4><b>{{article.title}}</b></h4>
</div>
<div class="panel-body">
<article id="word-display" ng-bind-html="article.content | trustHtml">
</article>
</div>
</div>
javascript:
success(function (data) {
$scope.articles = data;
});
myApp.filter('trustHtml', function ($sce) {
return function (input) {
return $sce.trustAsHtml(input);
}
});
其中$sce是angularJS自帶的安全處理模組,$sce.trustAsHtml(input)方法便是將資料內容以html的形式進行解析並返回。將此過濾器新增到ng-bind-html所繫結的資料中,便實現了在資料載入時對於html標籤的自動轉義。
方案二:
我們給模組新增依賴 'ngSanitize' ,
var app =angular.module('myApp',['ngSanitize']);(需要鏈入angular-sanitize.min.js).然後使用ng-bind-html,$sanitize會自動對ng-bind-html繫結的值進行淨化.
*記住,$sanitize指令本身不會出現在js程式碼裡.直接使用ng-bind-html就行了.但如果這裡不給模組新增依賴ngSanitize,是會報錯的.
angularjs乾貨地址 : http://blog.csdn.net/column/details/angularjs-sunny1989.html