ng-bind-html无法正常工作 [英] ng-bind-html doesn't work properly

查看:124
本文介绍了ng-bind-html无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在angularjs中将我的数据显示为html。以下是我的代码:

 < div class =panel-bodyng-controller =hosgeldinizController> 
< div id =divHosgeldinizname =hosgeldinizMessagesng-repeat =hosgeldinizMessage in hosgeldinizMessages>

< div>
< span ng-class-odd ='degisimIcerik'ng-class-even ='degisimIcerik alternate'ng-bind-html =hosgeldinizMessage.M_Icerik> {{hosgeldinizMessage.M_Icerik}} < /跨度>
< / div>
< / div>
< / div>

但它并不显示为html,而是显示为正常文本,但hosgeldinizMessage.M_Icerik包含html元素。我应该怎么做才能显示为html?

解决方案

获取 ngSanitize / p>

  var app = angular.module(dene,['ngSanitize']); 
app.controller(deneCtrl,function(){
this.selam =< p> Merhaba< strong> Angular< / strong>< / p>;
});

并在您的视图中使用 ng-bind-html

 < div ng-controller =deneCtrl as dene> 
< span ng-bind-html =dene.selam> < /跨度>
< / div>

但一定要包含相关的版本

 < script src =https://ajax.googleapis.com/ajax/libs/angularjs/ 1.2.23 / angular.min.js>< /脚本> 

< script src =https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular-sanitize.min.js>< / script>

或者如果您在本地更喜欢它,请下载副本
https://code.angularjs.org/



注意事项


确保您的 ngSanitize 版本与 AngularJS 版本$ b相同$ b你正在跑步,

well ....出于某种原因如果你混合(例如,角度 1.2.23 和角度清理 1.0.0 ),您最终会得到清理版本在你的看法(它会工作),但你的控制台很多错误或有时它不会呈现在屏幕上的所有:) - 我相信这就是你所面临的

相信我,我去过那里了:D

I want to show my data as html in angularjs. Here is apart of my codes :

<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>

But it doesnt show as html it shows just like normal text however hosgeldinizMessage.M_Icerik contains html elements. What should I do to show as html?

解决方案

Get ngSanitize as a dependancy in your module

    var app = angular.module("dene",['ngSanitize']);
    app.controller("deneCtrl",function(){
       this.selam = "<p>Merhaba <strong>Angular</strong></p>";
    });

and use ng-bind-html in your view

<div ng-controller="deneCtrl as dene">
<span ng-bind-html = " dene.selam "> </span>
</div>

but be sure to include the related versions

as in

  <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>

or if you prefer it locally you download a copy https://code.angularjs.org/

point to note

Make sure that you have the same version of ngSanitize as AngularJS version you are running ,

well .... for some reason if you mixed them up (e.g angular 1.2.23 and angular-sanitize 1.0.0) you will end up with either a sanitized version in your view (it will work) but ALOT of ERRORS in your console or sometimes it wont render on screen at ALL :) - I believe that's what you are facing

Trust me , I 've been there :D

这篇关于ng-bind-html无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆