Javascript ng绑定html不';我不能正常工作
我想在angularjs中将我的数据显示为html。以下是我的部分代码:Javascript ng绑定html不';我不能正常工作,javascript,jquery,html,angularjs,ng-bind-html,Javascript,Jquery,Html,Angularjs,Ng Bind Html,我想在angularjs中将我的数据显示为html。以下是我的部分代码: <div class="panel-body" ng-controller="hosgeldinizController"> <div id="divHosgeldiniz" name="hosgeldinizMessages" ng-repeat="hosgeldinizMessage in hosgeldinizMessages"> <div>
<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>
{{hosgeldinizMessage.M_Icerik}
但是它不像普通文本那样显示为html,但是hosgeldinizMessage.M_Icerik包含html元素。我应该如何显示为html?此行:
<div><span ng-class-odd="'degisimIcerik'" ng-class-even="'degisimIcerik alternate'" ng-bind-html="hosgeldinizMessage.M_Icerik">{{hosgeldinizMessage.M_Icerik}} </span></div>
{{hosgeldinizMessage.M_Icerik}
应该是
<div><span ng-class-odd="'degisimIcerik'" ng-class-even="'degisimIcerik alternate'" ng-bind-html="hosgeldinizMessage.M_Icerik"></span></div>
没有{}
表达式
内容的显示已由ng bind 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"></span></div>
</div>
如果您绑定到一个包含HTML的值,您应该使用。出于安全原因,这些绑定{{foo}}阻止注入实际的HTML
也检查一下这个
编辑
安装并将其包含在依赖项中
我认为使用ng bind html unsafe可以满足您的需要
<div ng-repeat="hosgeldinizMessage in hosgeldinizMessages" ng-bind-html-unsafe="hosgeldinizMessage.M_Icerik"></div>
这是一把小提琴:
该指令的文档可以在这里找到:它对我有效
在控制器中
$scope.trustedHtml = function (plainText) {
return $sce.trustAsHtml(plainText);
}
在html中
<span ng-class-odd="'degisimIcerik'" ng-class-even="'degisimIcerik alternate'" ng-bind-html="trustedHtml(hosgeldinizMessage.M_Icerik)"></span>
获取ngSanitize作为模块中的依赖项
var app = angular.module("dene",['ngSanitize']);
app.controller("deneCtrl",function(){
this.selam = "<p>Merhaba <strong>Angular</strong></p>";
});
var-app=angular.module(“dene”,“ngSanitize]”);
应用控制器(“deneCtrl”,函数(){
this.selam=“Merhaba棱角”;
});
并在视图中使用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>
或者,如果你喜欢在本地下载,你可以下载一份
注意事项
确保您的ngSanitize版本与AngularJS版本相同
你在跑步
嗯。。。。出于某种原因,如果你把它们混为一谈(例如angular1.2.23和angular sanitize1.0.0),你会在你的视图中看到一个消毒版本(它会起作用)但是您的控制台中有很多错误或者有时根本无法在屏幕上显示:)-我相信这就是您面临的问题
相信我,我已经去过了:D还有一个div没有正确关闭
ng bind html unsafe
已经被弃用了你能把你所做的事情弄得一团糟吗。。。?