ng-bind-html如何在angularjs中使用?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
我們提供的服務(wù)有:網(wǎng)站設(shè)計、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、八步ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的八步網(wǎng)站制作公司
ng-bind-html和ng-bind的區(qū)別就是,ng-bind把值作為字符串,和元素的內(nèi)容進(jìn)行綁定,但是ng-bind-html把值作為html,和元素的html進(jìn)行綁定.相當(dāng)于jq里面的.text()和.html().
但是,出于安全考慮,如果我們直接使用ng-bind-html是會報錯的,ng-bind-html后面的內(nèi)容必須經(jīng)過一定的處理.
處理的方式有兩種,一種是使用$sce服務(wù),另一種就是使用$sanitize服務(wù).$sce服務(wù)怎么用,在以后的文章中會獨立講解,這篇主要講解$sanitize服務(wù).
$sanitize會根絕一個白名單來凈化html標(biāo)簽.這樣,不安全的內(nèi)容就不會被返回. 白名單是根據(jù)$compileProvider的aHrefSanitizationWhitelist和imgSrcSanitizationWhitelist函數(shù)得到的.
看一個栗子:
html:
js:
var app =angular.module(‘myApp‘,[‘ngSanitize‘]); app.controller(‘ctrl‘,function($scope,$sce){ $scope.myHtml = ‘an html\n‘ + ‘click here\n‘ + ‘snippet
‘; $scope.trustHtml = $sce.trustAsHtml($scope.myHtml) });
這樣,在div內(nèi)就能加載上帶有html標(biāo)簽的內(nèi)容,標(biāo)簽的屬性以及綁定在元素上的事件都會被保留。
看完上述內(nèi)容,你們掌握ng-bind-html如何在angularjs中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!