Je veux montrer mes données en HTML dans angularjs. Voici en dehors de mes codes:
{{hosgeldinizMessage.M_Icerik}}
Mais il ne montre pas que le HTML, il montre juste comme le texte normal cependant hosgeldinizMessage.M_Icerik contient des éléments de HTML. Que dois-je faire pour afficher en HTML?
Obtenez ngSanitize comme dépendance dans votre module
var app = angular.module("dene",['ngSanitize']); app.controller("deneCtrl",function(){ this.selam = "Merhaba Angular
"; });
et utilisez ng-bind-html dans votre vue
mais assurez-vous d’inclure les versions connexes
un péché
ou si vous le préférez localement, vous téléchargez une copie https://code.angularjs.org/
point à noter
Assurez-vous que vous utilisez la même version de ngSanitize que celle d’ AngularJS ,
eh bien …. pour une raison quelconque, si vous les mélangez (par exemple, angular 1.2.23 et angular- sanitize 1.0.0 ), vous obtiendrez une version assainie à votre vue (cela fonctionnera) mais BEAUCOUP d’ERREURS dans votre console ou parfois il ne sera pas rendu à l’écran du tout 🙂 – Je crois que c’est ce que vous faites face
Croyez-moi, je suis passé par là: D
Ça a fonctionné pour moi
Dans le contrôleur …
$scope.trustedHtml = function (plainText) { return $sce.trustAsHtml(plainText); }
Dans le html
Si vous vous liez à une valeur contenant du code HTML, vous devez utiliser ngBindHtml . Ces liaisons {{foo}} empêchent d’injecter du code HTML réel pour des raisons de sécurité.
Vérifiez également cette $ sce
MODIFIER
Installez angular-sanitize et incluez-le dans vos dépendances …
La désinfection angular / ng-bind-html ne fonctionne pas?
Cette ligne:
{{hosgeldinizMessage.M_Icerik}}
devrait être
sans l’expression {{}}
.
L’affichage du contenu est déjà pris en charge par la directive ng-bind-html
.
Je pense que l’utilisation de ng-bind-html-unsafe vous apportera ce dont vous avez besoin.
Voici un violon qui fonctionne: http://jsfiddle.net/nfreitas/aHfAp/
La documentation de la directive peut être trouvée ici: http://docs.angularjs.org/api/ng.directive:ngBindHtmlUnsafe