web-dev-qa-db-ja.com

Angular sanitize / ng-bind-htmlが機能しませんか?

リピーターをセットアップし、その中にhtmlがない限り、表示するデータを取得できます。

angular-sanitize.jsng-bind-html

ただし、スパン内には何も表示されず、ng-bind-html属性。サニタイズが機能していないようです

これをアプリの依存関係に追加する必要があることを読みましたが、どこで追加するのかわかりません。

私はangularサイトでtutを使って作業しているので、その時点で非常に基本的なコントローラーのみがセットアップされています。

51
Tim Webster
  1. Angle-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 ng-bind-html = "item.title"> </ h1>

  4. $sce.trustAsHtml() を使用しないでください

125
Dan

これに対する私の解決策は、ここからjsファイルをダウンロードすることでした

http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular-sanitize.js

angular gitリポジトリで見つけたものを使用していましたが、

7
Tim Webster

ディレクティブを使用しているときにこの問題が発生し、コードで「置換」を使用していませんでした。

「ng-html-bind」は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) {

    }

};
}]);
1
Amicable

私の解決策は、セグレスパーンの反対でした。 BowerバージョンのAngular Sanitizeを使用することでした。

bower install angular-sanitize

https://github.com/angular/bower-angular-sanitize

0
skribbz14

私は同様の問題を経験しましたが、私のものは少し奇妙でした。入力タグのみがレンダリングされましたが、他のすべてのタグは

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

した。数時間後、私は

angular-sanitize.min.js 

追加する必要がありました

textAngular-sanitize.min.js

入力タグが機能する前に私のプロジェクトに。本当にイライラしていたので、これが似たような状況の人に役立つことを願っています

0
crazy_abdul