web-dev-qa-db-ja.com

ng-bind-htmlが何も表示しないのはなぜですか?

HTMLコードを含む文字列を表示しています。

_<div style="font-size: 14px" ng-bind="currentBook.description"></div>_

要素を解釈する代わりに、HTMLコードを表示します。

enter image description here

_ng-bind_および_ng-bind-unsafe_を使用すると、何も表示されません。

HTMLを解析するにはどうすればよいですか?

補遺

サニタイズへの参照を追加しましたが、_ng-bind_および_ng-bind-unsafe_はまだ何も表示しません。

_<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular-route.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular-sanitize.js"></script>
_

OK、ngSanitize var app = angular.module('app', ['ngSanitize']);を追加しました。

12
Edward Tanguay

見逃したようですngSanitize以下のデモをご覧ください

あなたはここでもっと見つけることができます

https://docs.angularjs.org/api/ngSanitize/service/ $ sanitize

var app = angular.module('app', ['ngSanitize']);

app.controller('firstCtrl', function($scope, $sce) {
  $scope.currentBook = {
    description: "<p>some description</p>"

  };
});
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.8/angular-sanitize.js"></script>

<body ng-app="app">
  <div ng-controller="firstCtrl">
    <div style="font-size: 14px" ng-bind-html="currentBook.description"></div>
  </div>
</body>
16
sylwester

申し込む

    $scope.$apply(function () {
            $scope.currentBook.description = $sce.trustAsHtml(html);
        });
3
Paratoner