2016-04-24 111 views
0

AngularJS代碼的HTML元素:angularjs字符串變量使用消毒

$scope.checking="<div style="color:red;">check</div>"; 

HTML代碼:

<p ng-bind-html="checking"></p> 

所以我用$消毒這一個和NG綁定HTML的指令來獲得任務完成。

所以結果HTML頁面:

check 

和上面應該有紅的顏色

我得到的輸出,但字符串「檢查」不進來紅!樣式標籤被忽略!我該怎麼做?我是否使用插值?

任何方式來做到這一點?希望它的簡單... AngularJS專家請幫忙!

回答

2

$sanitize通過去除所有具有潛在危險的令牌來清理html字符串。

所以請使用$sce服務方法使其信任html使用trustAsHtml方法。

$scope.checking= $sce.trustAsHtml("<div style="color:red;">check</div>");

+0

https://docs.angularjs.org/api/ng/service/$sce – sniels