如何Angularjs1.3在页面中输出带Html标记的文本

Posted 蚂蚁撼大象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何Angularjs1.3在页面中输出带Html标记的文本相关的知识,希望对你有一定的参考价值。

如何Angularjs1.3在页面中输出带html标记的文本 

基于安全考虑,Angularjs不允许用ng-bind或者{{}}的方法输出html文本。

在实际的应用中,比如信息管理系统,用在线编辑器编辑出来的文章都带有html标记,这种情况下可以用ng-bind-html将其输出到前台页面。

1、在前台页面中包含sanitize.js

<script type="text/javascript" src="webjars/angular-sanitize/1.3.11/angular-sanitize.min.js"></script> 

2、在mode、和controller增加对html文本的安全过滤

 

angular.module(\'scenceApp\',[\'ui.router\',\'ngResource\',\'ngSanitize\',\'restangular\'])
.controller(\'scenceViewController\',function($scope,Restangular,$stateParams, $sce){
    Restangular.one("scences",$stateParams.id).get().
     then(function(data) {
        $scope.scence = data;
        $scope.scence.info = $sce.trustAsHtml(data.info); //对info字段进行安全过滤
     });
})

 

3、在前台页面中用ng-bind-html绑定

<div ng-bind-html="scence.info"></div>

 

文章参考资料:http://www.cnblogs.com/mingziday/p/4824899.html

以上是关于如何Angularjs1.3在页面中输出带Html标记的文本的主要内容,如果未能解决你的问题,请参考以下文章

angularjs1-3,$apply,$watch

angularjs1-3,工具方法,bootstrap,多个module,引入jquery

php如何结合html调用数据?

如何在终端中打印带颜色的文本

如何在页面输出HTML标签

js如何在本页面div中输出内容而不跳转?