web-dev-qa-db-fra.com

Pourquoi ng-bind-html n'affiche-t-il rien?

J'affiche une chaîne contenant du code HTML:

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

put it affiche le code HTML au lieu d'interpréter les éléments:

enter image description here

Lorsque j'utilise ng-bind et ng-bind-unsafe, rien ne s'affiche.

Comment puis-je obtenir le code HTML à analyser?

Addenda

J'ai ajouté une référence à sanitize mais ng-bind et ng-bind-unsafe ne montrent toujours rien:

<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, j’ai ajouté le ngSanitize var app = angular.module('app', ['ngSanitize']); et maintenant cela fonctionne.

7
Edward Tanguay

On dirait que vous avez manqué ngSanitize s'il vous plaît voir la démo ci-dessous

Vous pouvez trouver plus ici 

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>

11
sylwester

appel appliquer

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