2013-02-06 54 views
49

我有一箇中繼器設置,並可以獲取數據顯示,只要沒有它的HTML。Angular sanitize/ng-bind-html無法正常工作?

我已經包括angular-sanitize.js和使用ng-bind-html

曾嘗試但沒有什麼是跨度內顯示,僅在ng-bind-html屬性。所以它看起來像消毒不工作,

我讀到,這需要添加到應用程序的依賴關係,但不知道在哪裏這樣做。

我剛剛通過角度網站上的tut,所以只有一個非常基本的控制器設置在一分鐘。

+0

你能告訴什麼ü試圖上的jsfiddle使用」 –

+0

http://jsfiddle.net/eZhnd/16/ –

+0

看起來像我使用的angular-sanatize.js文件是不正確的,我已經把它作爲git repo,但是當我使用js上使用的那個文件時它現在按預期工作。 –

回答

123
  1. 您需要包括角度 - sanitize.js http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular-sanitize.js

  2. 添加'ngSanitize '給你模塊依賴

    VAR對myApp = angular.module(' 對myApp」,[ 'ngSanitize']);

  3. 不要在屬性

    < H1納克綁定-HTML = 「item.title」 > </H1 >

  4. 不使用{{}}使用$sce.trustAsHtml()

+1

這是完美的! –

+0

感謝您將步驟放入其中。更容易遵循並得到解決。 – jasonflaherty

+0

也適合我。謝謝。 – Keshav

0

我遇到了類似的問題,但我的是一個有點怪異。只有輸入標籤未呈現,其他所有內容包括

<h3></h3> 
<em></em> 

確實。幾個小時後,我意識到,除了

angular-sanitize.min.js 

我需要

textAngular-sanitize.min.js 

添加到我的項目輸入標籤工作過。這真的令人沮喪,所以我希望這可以幫助任何人在類似的情況

0

當使用指令和解決方案沒有使用代碼中的「替換」時遇到此問題。

'NG-HTML綁定正在對在templateUrl視圖一個div

appDirectives.directive('helpText', [function() { 
return { 
    restrict: 'E', 
    //replace: true, // With this uncommented it does not work! 
    scope: { 
     displayText: '=' 
    }, 
    templateUrl: '/web/form/helptext', 
    link: function (scope) { 

    } 

}; 
}]);