2016-04-15 33 views
1

的下面是我的模板代碼:消毒劑無法解析HTML以下塊:<br style="margin: 0px; padding: 0px;"/>

<div ng-bind-html="product.qtxx"></div>

但我得到的錯誤,也許是因爲在JSON數據中包含像「<br style=\"margin: 0px; padding: 0px;\"/>」 HTML代碼,和離子拋出錯誤:

Error: [$sanitize:badparse] The sanitizer was unable to parse the following block of html: <br style=\"margin: 0px; padding: 0px;\"/>blabla 

我並不能解決這個問題,也許是因爲雙引號""在html影響json語法? 可以解決這個問題嗎?

+0

我認爲這可以幫助你http://stackoverflow.com/questions/22533491/angularjs-how-can-i-ignore-certain-html-tags –

回答

0

添加範圍的方法是這樣的:

$scope.sanitizeMe = function(text) { 
    return $sce.trustAsHtml(text) 
}; 

和使用,在您的視圖:

<div ng-bind-html="sanitizeMe(product.qtxx)"></div> 

而且可能是你需要分析你的HTML:

<br style=\「margin: 0px; padding: 0px;\」/> 

(不知道,你有特殊字符,如無效雙引號」」而不是""

<br style="margin: 0px; padding: 0px;" /> 
+0

trustAsHtml繞過消毒。 'sanitizeMe'不會消毒,但可以在您的頁面中輸入unsanitized html。見[$ sanitize](https://docs.angularjs.org/api/ngSanitize/service/$sanitize) –

+0

哦,右@JonathanGawrych讓我解決這個問題 –