AngularJS通過$sce輸出html的方法
【問題描述】
AngularJS的強大之處之一就是他的數(shù)據(jù)雙向綁定功能----->ng-bind
和針對form的ng-model
但在我們的項目當(dāng)中會遇到這樣的情況,后臺返回的數(shù)據(jù)中帶有各種各樣的html標(biāo)簽
AngularJS輸出html的時候,瀏覽器并不解析這些html標(biāo)簽
通過api,發(fā)現(xiàn)通過指令 ng-bind-html
來實現(xiàn)html的輸出。
<div class="col-md-12 ng-binding" ng-bind-html="item.content ">
但是并不起作用,瀏覽器中顯示的還是html代碼。
【解決辦法】
后來發(fā)現(xiàn)還需要通過通過$sce服務(wù)來實現(xiàn)html的展示。
angular.module("list",[]).controller("BlogListCtrl", BlogListCtrl).filter( 'to_trusted', ['$sce', function ($sce) { return function (text) { return $sce.trustAsHtml(text); } }] )
這里通過$sce構(gòu)建一個過濾器來對輸出的html進(jìn)行過濾
<div class="col-md-12 ng-binding" ng-bind-html="item.content|to_trusted ">
這樣就可以通過AngularJS正常的輸出html標(biāo)簽,并且被瀏覽器解析了
【總結(jié)】
以上就是這篇文章的全部內(nèi)容了,希望這篇文章的內(nèi)容對大家的學(xué)習(xí)或者工作帶來一定的幫助,如果有疑問大家可以留言交流。
相關(guān)文章
angular學(xué)習(xí)之動態(tài)創(chuàng)建表單的方法
這篇文章主要介紹了angular學(xué)習(xí)之動態(tài)創(chuàng)建表單的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12如何利用AngularJS打造一款簡單Web應(yīng)用
如果大家希望在應(yīng)用程序的創(chuàng)建工作中采取各類最佳實踐,那么AngularJS也能夠帶來極大的助益??偠灾?,這套框架的強大功能與特性永遠(yuǎn)不會讓有著應(yīng)用開發(fā)需求的朋友們失望2015-12-12深入理解AngularJS中的ng-bind-html指令和$sce服務(wù)
這篇文章給大家詳細(xì)介紹了AngularJS中的ng-bind-html指令和$sce服務(wù),對大家學(xué)習(xí)AngularJS具有一定參考借鑒價值,有需要都可以參考學(xué)習(xí)。2016-09-09