我想在 angularjs 中将我的数据显示为 html。这是我的代码的一部分:
<div class="panel-body" ng-controller="hosgeldinizController">
<div id="divHosgeldiniz" name="hosgeldinizMessages" ng-repeat="hosgeldinizMessage in hosgeldinizMessages">
<div>
<span ng-class-odd="'degisimIcerik'" ng-class-even="'degisimIcerik alternate'" ng-bind-html="hosgeldinizMessage.M_Icerik">{{hosgeldinizMessage.M_Icerik}} </span>
</div>
</div>
</div>
但它不显示为 html,它显示为普通文本,但是 hosgeldinizMessage.M_Icerik 包含 html 元素。我应该怎么做才能显示为 html?
最佳答案
获取 ngSanitize 作为模块中的依赖项
var app = angular.module("dene",['ngSanitize']);
app.controller("deneCtrl",function(){
this.selam = "<p>Merhaba <strong>Angular</strong></p>";
});
并在你的 View 中使用ng-bind-html
<div ng-controller="deneCtrl as dene">
<span ng-bind-html = " dene.selam "> </span>
</div>
但一定要包括相关版本
如
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular-sanitize.min.js"></script>
或者如果您更喜欢在本地下载一个副本 https://code.angularjs.org/
注意事项
Make sure that you have the same version of ngSanitize as AngularJS version you are running ,
好吧......出于某种原因如果你将它们混在一起(例如angular 1.2.23 和angular-sanitize 1.0.0) 你最终会得到一个经过清理的版本在你看来(它会工作)但是你的控制台中有很多错误或者有时它不会全部呈现在屏幕上 :) - 我相信这就是你所面对的
相信我,我去过那里 :D
关于javascript - ng-bind-html 不能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24628126/