首页 > 代码库 > angularJS1笔记-(17)-ng-bind-html指令
angularJS1笔记-(17)-ng-bind-html指令
angular不推荐大家在绑定数据的时候绑定html,但是如果你非要这么干也并不是不可以的。举个例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>指令</title> </head> <body ng-app ng-init="username=‘<h1>shit</h1>‘"> <!--ng-bind指令在绑定的值包含html时会转义,为了安全(跨站脚本攻击)--> <strong ng-bind-html="username"></strong> <script src="http://www.mamicode.com/app/bower_components/angular/angular.js"></script> </body> </html>
写这样的一段代码在浏览器运行:
会看到错误信息:
看意思是在一个安全的环境中使用了不安全的值导致的,这个时候我们需要引入angular的一个依赖包 angular-sanitize:
引入完成后我们导入项目,然后在模块中写明依赖:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>指令</title> </head> <body ng-app="myApp" ng-init="username=‘<h1>shit</h1>‘"> <!--ng-bind指令在绑定的值包含html时会转义,为了安全(跨站脚本攻击)--> <strong ng-bind-html="username"></strong> <script src="http://www.mamicode.com/app/bower_components/angular/angular.js"></script> <script src="http://www.mamicode.com/app/bower_components/angular-sanitize/angular-sanitize.js"></script> <script> //使用自定义的模块才可以依赖别的包里面定义模块 angular定义的默认模块没有任何依赖 angular.module(‘myApp‘, [‘ngSanitize‘]) </script> </body> </html>
此时运行就可以看到正确结果ngSanitize的作用是让html不转义:
angularJS1笔记-(17)-ng-bind-html指令
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。