分享更有价值
被信任是一种快乐

angularJS的ng-bind-html指令这么用

文章页正文上

本文小编为大家详细介绍“angularJS的ng-bind-html指令这么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“angularJS的ng-bind-html指令这么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
  angularjs的强大之处之一就是他的数据双向绑定这个功能,我们会常常用到的两个东西就是ng-bind和针对form的ng-model。但在我们的项目当中会遇到这样的情况,后台返回的数据中带有各种各样的html标签。如:
  $scope.text=“hello,
这是一个例子
  我们用ng-bind-html这样的指令来绑定,结果却不是我们想要的。是这样的:
  hello,这是一个例子(我们给文字设置的b标签样式丢失了)
  调试了半天,最后锁定问题并解决问题。,不过辛苦还是值得的,毕竟为了弄明白这一点又学习了更多代码。
  原因是这样的:
  angularJS在进行数据绑定时默认是会以文本的形式输出,也就是对你数据中的html标签不进行转义照单全收,这样提高了安全性,防止了html标签中免费云主机、域名的注入攻击。但是如果我们的应用场景,是类似于文章详情页,从数据库读取带格式的文本时,无法正常的显示在页面中。如下:
  $scope.htmlStr=’   这个时候我们必须要使用$sce这个服务来解决我们的问题。所谓sce即“StrictContextualEscaping”的缩写。翻译成中文就是“严格的上下文模式”也可以理解为安全绑定吧。该方法将值转换为特权所接受并能安全地使用“ng-bind-html”来绑定。
  来看看如何使用吧:
  把它封装成一个过滤器就可以在模板上随时调用了
  //注册一个过滤器,挂载到任意一个angular.module下,如果自定义过滤器较多,可以提取出来一个公用的过滤器module
  .filter(‘to_trusted’,[‘$sce’,function($sce){returnfunction(text){return$sce.trustAsHtml(text);
  };
  }]);//然后在页面中这样使用   $sce是angularJS自带的安全处理模块,$sce.trustAsHtml(input)方法便是将数据内容以html的形式进行解析并返回。将此过滤器添加到ng-bind-html所绑定的数据中,便实现了在数据加载时对于html标签的自动转义。读到这里,这篇“angularJS的ng-bind-html指令这么用”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注云技术行业资讯频道。

相关推荐: HTML怎么使段落的首字母浮动于左侧

这篇文章主要介绍“HTML怎么使段落的首字母浮动于左侧”,在日常操作中,相信很多人在HTML怎么使段落的首字母浮动于左侧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”HTM免费云主机、域名L怎么使段落的首字母浮动于左侧”的疑惑有…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册