前言

在为html标签绑定数据的时,如果绑定的内容是纯文本,你可以使用{{}}或者ng-bind。但在为html标签绑定带html标签的内容的时候,angularjs为了安全考虑,不会将其渲染成html,而是将其当做文本直接在页面上展示。
先来看一个例子
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="js/angular.min.js"></script>
<script>
angular.module("myapp", []).controller("MyController", function ($scope) {
$scope.content = "<h1>Hello world.</h1>";
$scope.txt = "Hello txt world";
});
</script>
</head>
<body ng-app="myapp">
<div ng-controller="MyController">
{{content}}
<div ng-bind="content"></div>
</div>
</body>
</html>
输出
ng-bind-html指令
<div ng-bind-html="content"></div>
这时就会出现安全的错误,如图:
但可以通过引入下面的模块,自动检测html的内容是否安全
<script src="http://apps.bdimg.com/libs/angular.js/1.5.0-beta.0/angular-sanitize.min.js"></script>
<script>
angular.module("myapp", ["ngSanitize"]).controller("MyController", function ($scope) {
$scope.content = "<h1>Hello world.</h1>";
$scope.txt = "Hello txt world";
});
</script>
这时刷新预览
所以
ng-bind-html 指令是通一个安全的方式将内容绑定到 HTML 元素上。
当你想让 AngularJS 在你的应用中写入 HTML,你就需要去检测一些危险代码。通过在应用中引入 "angular-santize.js" 模块,使用 ngSanitize 函数来检测代码的安全性。 in your application you can do so by running the HTML code through the ngSanitize function.
另外一种处理方式
通过自定义过滤器,将带html标签的内容都当成安全的进行处理。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="js/angular.min.js"></script>
<!--<script src="http://apps.bdimg.com/libs/angular.js/1.5.0-beta.0/angular-sanitize.min.js"></script>-->
<script>
angular.module("myapp", []).controller("MyController", function ($scope) {
$scope.content = "<h1>Hello world.</h1>";
$scope.txt = "Hello txt world";
}).filter("safeHtml", function ($sce) {
return function (input) {
//在这里可以对加载html渲染后进行特别处理。
return $sce.trustAsHtml(input);
};
});
</script>
</head>
<body ng-app="myapp">
<div ng-controller="MyController">
{{content}}
<div ng-bind="content"></div>
<!--<div ng-bind-html="content"></div>-->
<div ng-bind-html="content|safeHtml"></div>
</div>
</body>
</html>
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
# angular
# ng
# bind
# html
# html怎么用
# angularjs
# ng指令
# angularjs中使用ng-bind-html和ng-include的实例
# 深入理解AngularJS中的ng-bind-html指令和$sce服务
# AngularJS ng-bind-html 指令详解及实例代码
# angularjs中ng-bind-html的用法总结
# 绑定
# 将其
# 就会
# 在这里
# 你可以
# 你就
# 当你
# 但在
# 可以通过
# 自定义
# 如图
# 这篇文章
# 想让
# 谢谢大家
# 以对
# 加载
# 有疑问
# head
# http
# org
相关文章:
视频网站制作教程,怎么样制作优酷网的小视频?
建站之星云端配置指南:模板选择与SEO优化一键生成
建站DNS解析失败?如何正确配置域名服务器?
如何配置FTP站点权限与安全设置?
C#怎么使用委托和事件 C# delegate与event编程方法
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
如何选择高效稳定的ISP建站解决方案?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何在宝塔面板中创建新站点?
如何确认建站备案号应放置的具体位置?
如何快速搭建个人网站并优化SEO?
宠物网站制作html代码,有没有专门介绍宠物如何养的网站啊?
如何使用Golang table-driven基准测试_多组数据测量函数效率
定制建站是什么?如何实现个性化需求?
头像制作网站在线制作软件,dw网页背景图像怎么设置?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
如何选择香港主机高效搭建外贸独立站?
建站之星安装路径如何正确选择及配置?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
阿里云网站制作公司,阿里云快速搭建网站好用吗?
如何选择PHP开源工具快速搭建网站?
网站制作公司排行榜,四大门户网站排名?
唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?
css网站制作参考文献有哪些,易聊怎么注册?
如何快速辨别茅台真假?关键步骤解析
小型网站制作HTML,*游戏网站怎么搭建?
建站主机如何选?高性价比方案全解析
外贸公司网站制作,外贸网站建设一般有哪些步骤?
建站主机与服务器功能差异如何区分?
如何配置支付宝与微信支付功能?
再谈Python中的字符串与字符编码(推荐)
香港服务器租用费用高吗?如何避免常见误区?
如何快速生成凡客建站的专业级图册?
大连网站制作公司哪家好一点,大连买房网站哪个好?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
青岛网站建设如何选择本地服务器?
如何通过PHP快速构建高效问答网站功能?
北京专业网站制作设计师招聘,北京白云观官方网站?
网站制作软件有哪些,制图软件有哪些?
制作营销网站公司,淘特是干什么用的?
宁波自助建站系统如何快速打造专业企业网站?
在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?
已有域名建站全流程解析:网站搭建步骤与建站工具选择
宝塔面板如何快速创建新站点?
金*站制作公司有哪些,金华教育集团官网?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?
如何用已有域名快速搭建网站?
c# F# 的 MailboxProcessor 和 C# 的 Actor 模型
*请认真填写需求信息,我们会在24小时内与您取得联系。