angularJS在进行数据绑定时默认是以字符串的形式数据,也就是对你数据中的html标签不进行转义照单全收,这样提高了安全性,防止html标签的注入攻击,但有时候需要,特别是从数据库读取带格式的文本时,无法正常的显示在页面中。

而要对html进行转义,则需要在数据绑定的html标签中使用ng-bind-html属性,该属性依赖与$sanitize,也就是需要引入angular-sanitize.js文件,并在module定义时注入该服务ngSanitize。比如:

html:

javascript:

function myCtr($scope){

$scope.htmlStr = '

};

这样可以实现html转义,但是有个问题是style这种标签会被angularJS认为是不安全的所以统统自动过滤掉,而为了保留这些就需要开启非安全模式。

如何让自动加载的数据转义html标签呢?实际上还有一种绑定方式:

html:

{{article.title}}

javascript:

success(function(data){

$scope.articles = data;

});

myApp.filter('trustHtml',function($sce){

return function(input){

return $sce.trustAsHtml(input);

}

});

其中$sce是angularJS自带的安全处理模块,$sce.trustAsHtml(input)方法便是将数据内容以html的形式进行解析并返回。将此过滤器添加到ng-bind-html所绑定的数据中,便实现了在数据加载时对与html标签的自动转义。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

时间: 2017-03-29

angularjs2 html转义,详解Angular.js数据绑定时自动转义html标签及内容相关推荐

  1. java mysql 自动提交_详解MySQL与Spring的自动提交(autocommit)

    1 MySQL的autocommit设置 MySQL默认是开启自动提交的,即每一条DML(增删改)语句都会被作为一个单独的事务进行隐式提交.如果修改为关闭状态,则执行DML语句之后要手动提交 才能生效 ...

  2. angular字符串转成html,详解angular如何调用HTML字符串的方法

    详解angular如何调用HTML字符串的方法 前面的文章我们介绍过angular6.0的数据绑定,也就是前面页面如何调用后台的数据,我们接触到了调用普通数据--如:调用产品详情{{post.cont ...

  3. vue 加载页面时触发时间_详解Vue.js在页面加载时执行某个方法

    详解Vue.js在页面加载时执行某个方法 jQuery中可以这样写 vue中,如果要达到相同效果,可以使用vue的生命周期函数,如create或者mounted 附上vue.js的生命周期函数执行流程 ...

  4. php滚动窗口多条动态,详解原生JS是实现控制多个滚动条同步跟随滚动

    本文主要和大家详解详解原生JS是实现控制多个滚动条同步跟随滚动,当这两个容器元素的内容都超出了容器高度,即都出现了滚动框的时候,如何在其中一个容器元素滚动时,让另外一个元素也随之滚动. 在一些支持用 ...

  5. layui日期与vue_详解Vue.js和layui日期控件冲突问题解决办法

    详解Vue.js和layui日期控件冲突问题解决办法 发布于 2020-8-10| 复制链接 摘记: 事故还原: 今天在用layui的日期控件的时候发现一个问题,就是form表单中的日期选择之后,如果 ...

  6. vue调用手机相机相册_详解Vue.js调用手机相机和相册以及上传

    详解Vue.js调用手机相机和相册以及上传 发布于 2020-7-7| 复制链接 摘记: 组件 ```xhtml .. 组件 ```xhtml --> 选中{{imgList.length}}张 ...

  7. php 转译特殊的字符串,php转义字符_php特殊字符转义详解

    摘要 腾兴网为您分享:php特殊字符转义详解,掌上公交,一起发,夜读小说,学宝等软件知识,以及电烤箱食谱,快速,掌阅,仙剑奇侠传4音乐,盟军敢死队,无双大蛇3游侠,我吻过你的脸,搜客宝,小米系统一键锁 ...

  8. js定义全局变量 vue页面_详解Vue.js 定义全局变量的几种实现方式

    详解Vue.js 定义全局变量的几种实现方式 发布于 2020-8-11| 复制链接 本篇文章主要介绍了VUE 全局变量的几种实现方式,小妖觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小妖 ...

  9. linux 卡在grub_详解ubuntu双系统启动时卡死解决办法

    ubuntu双系统启动时卡死解决办法(在ubuntu16.04和18.04测试无误) 问题描述: 在安装完ubuntu双系统后,第一次启动ubuntu系统时,卡死在启动界面(或者黑屏),这大概都是由于 ...

最新文章

  1. 31天重构学习笔记重新整理下载
  2. 百度网站打不开了,百度被黑了?最新证实:百度遭黑客劫持,手段类似于12月被劫持的twitter(截图)...
  3. SQL SERVER 2008 数据恢复错误的解决步骤
  4. 日行千里,全凭“车”况,为什么我们要升级平台
  5. oracle修改物化视图字段,获取物化视图字段的修改矢量(一)
  6. 【C语言进阶深度学习记录】六 C语言中的分支语句
  7. 麦块不显示服务器,为什么开不了服务器啊!
  8. 【软件工程】计算资源
  9. 第二章附加例题:委托类型
  10. Go语言游戏服务器思维导图
  11. Html之图片轮播(锚)
  12. android学习摘要(二)
  13. Linux手动配置虚拟机网络的两种方式
  14. 基于C#的Access MsSQL MySQL 三种数据库访问演示(含源文件Demo)
  15. C实现NV12转I420
  16. linux安装软件统一格式化,Ubuntu 14.04安装格式转换软件Format Junkie 1.07
  17. 网络疯传华为面试题:800公斤牛,过承重700公斤的桥,有答案了?
  18. cmd命令提示符配置切换IP地址
  19. 全国计算机考试 二级 office pdf,全国计算机等级考试二级MSoffice讲义看看[整理].pdf...
  20. 直流稳压电源设计—7805

热门文章

  1. Kubernetes 1.14 版本发布:正式支持Windows 节点,持久化本地卷进入GA
  2. 智在生活 自在慵懒 科沃斯机器人X京东大牌秒杀日主题展亮相无锡
  3. ML基础 : 训练集,验证集,测试集关系及划分 Relation and Devision among training set, validation set and testing set...
  4. VIEW层AJAX提交表单到Controller的实体(AJAX传递序列化的输入元素)
  5. oracle12之 多租户容器数据库架构
  6. MyBatis整合第三方缓存
  7. .NET应用三层架构分析
  8. Android4.2以后,多屏幕的支持 学习(一)
  9. ASP.NET MVC3 快速入门--第二节 添加一个控制器
  10. ISE安装和FLASH烧录