码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-05-20 11:49:43      阅读:404      评论:0      收藏:0      [点我收藏+]

标签:

如何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标记的文本

标签:

原文地址:http://www.cnblogs.com/alqscool/p/5511305.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!