zoukankan      html  css  js  c++  java
  • AngularJS通过$sce输出html的方法

         不知道大家有没有发现在用AngularJS作为前端搭建个人博客的时候,发现用AngularJs输出html的时候,浏览器并不解析这些html标签,这里我们需要其显示angular输出的html能被浏览器解析怎么办呢?不知道Angularjs如何实现这种功能的通过这篇文章来看看吧。

    AngularJS的强大之处之一就是他的数据双向绑定功能----->ng-bind和针对form的ng-model

    但在我们的项目当中会遇到这样的情况,后台返回的数据中带有各种各样的html标签

    AngularJS输出html的时候,浏览器并不解析这些html标签

    通过api,发现通过指令 ng-bind-html来实现html的输出。

    1
    <div class="col-md-12 ng-binding" ng-bind-html="item.content ">

    但是并不起作用,浏览器中显示的还是html代码。

    【解决办法】

    后来发现还需要通过通过$sce服务来实现html的展示。

    1
    2
    3
    4
    5
    6
    7
    angular.module("list",[]).controller("BlogListCtrl", BlogListCtrl).filter(
     'to_trusted', ['$sce', function ($sce) {
      return function (text) {
       return $sce.trustAsHtml(text);
      }
     }]
    )

    这里通过$sce构建一个过滤器来对输出的html进行过滤

    1
    <div class="col-md-12 ng-binding" ng-bind-html="item.content|to_trusted ">

    这样就可以通过AngularJS正常的输出html标签,并且被浏览器解析了

    【总结】

    以上就是这篇文章的全部内容了,希望这篇文章的内容对大家的学习或者工作带来一定的帮助,如果有疑问大家可以留言交流。

    转自http://www.jb51.net/article/93179.htm

  • 相关阅读:
    bzoj3751 / P2312 解方程
    P1270 “访问”美术馆(树形dp)
    [bzoj1085][SCOI2005]骑士精神
    [bzoj1208][HNOI2004]宠物收养所
    [bzoj1196][HNOI2006]公路修建问题
    [bzoj1093][ZJOI2007]最大半连通子图
    [bzoj1103][POI2007]大都市meg
    [Apio2009][bzoj1179]Atm
    [bzoj1191][HNOI2006]超级英雄Hero
    [bzoj2458][BeiJing2011]最小三角形
  • 原文地址:https://www.cnblogs.com/sxz2008/p/6434036.html
Copyright © 2011-2022 走看看