Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng绑定html不';我不能正常工作_Javascript_Jquery_Html_Angularjs_Ng Bind Html - Fatal编程技术网

Javascript ng绑定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>

我想在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>

{{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
已经被弃用了你能把你所做的事情弄得一团糟吗。。。?