AngularJS中取消对HTML片段转义的方法例子
2023-06-13 09:15:39 时间
今天尝试用Rails做后端提供JSON格式的数据,AngularJS做前端处理JSON数据,其中碰到AngularJS获取的是一段HTML文本,如果直接使用data-ng-bind的话是被转义过的,使用data-ng-bind-html则可以取消转义。
但是直接使用data-ng-bind-html的话会提示错误
Error:[$sce:unsafe]Attemptingtouseanunsafevalueinasafecontext.
HTML片段需要先使用$sce.trustAsHtml(html_in_string)将标记为信任,然后才可以使用data-ng-bind-html="html_in_string"取消转义。
在我这里Angular通过API或取的所有文章中,每篇文章有个html_body属性是经过Markdown或者Org渲染过的HTML片段。
在通过API获取JSON数据后,使用AngularJS提供的angular.forEach方法对每个post的html_body进行标记,并将结果保存为trustedBody,然后在HTML中使用data-ng-bind-html="post.trustedBody"即可以取消转义。
AngularJS部分
Blog.controller("PostsController",function($scope,$http,$sce){
$scope.posts=[];
$scope.syncPosts=function(){
varrequest=$http.get("http:/localhost:3000/posts.json");
request.success(function(response){
$scope.posts=angular.forEach(angular.fromJson(response),function(post){
post.trustedBody=$sce.trustAsHtml(post.html_body);
});
});
};
$scope.syncPosts();
});
HTML部分
<divclass="post-bodymarkup-body"data-ng-bind-html="post.trustedBody"></div>
相关文章
- html语言添加下划线,HTML页面中怎么文本添加下划线?[通俗易懂]
- html如何只刷新页面指定,js控制页面刷新 JS刷新当前页面的几种方法总结
- Java Session的实现方法
- 【说站】python update合并字典的方法
- html获取表单提交数据_提交表单的两种方法
- Linux重启网卡的方法「建议收藏」
- win11怎么免费激活 快速激活win11的方法(附win11激活密钥)
- Extjs4.2 window加载HTML,父子页面html传参
- html元素【垂直水平居中】方法合集
- 获取产品图片白色背景的方法3
- oracle中decode函数的使用方法示例
- Redis分布式锁的正确实现方法总结
- Java去掉Html标签的方法详解编程语言
- 使用HTML连接MySQL数据库实现功能(html连接mysql数据库)
- Java List.remove()方法:移出列表中的指定元素
- 标签使用MySQL过滤HTML标签(mysql过滤html)
- 提高开发效率,掌握MySQL数据库执行语句的技巧与方法(mysql数据库执行语句)
- Linux环境实现HTML文件编辑(linux编辑html)
- 数SQL Server精准获取周数的方法(sqlserver 取周)
- Linux环境下Web开发的HTML文件编辑(html文件 Linux)
- 查看MSSQL数据库表大小的方法探究(mssql+查看表大小)
- MySQL中如何存储和检索HTML数据(mysql中html)
- HTML连接Oracle利用JavaScript即可实现(html连接oracle)
- HTML与Oracle新的组合引发了新的机遇与挑战(html oracle)
- MySQL实现三表左外连接的方法详解(mysql三表左外连接)
- Apache与IIS共用端口的解决方法集
- 在VS2008中编译MYSQL5.1.48的方法
- jQuery数组处理方法汇总
- jquery如何改变html标签的样式(两种实现方法)
- Android控件(button)对齐方法实现详解
- 浅析php过滤html字符串,防止SQL注入的方法
- IE下双击checkbox反应延迟问题的解决方法
- HTML页面登录时的JS验证方法
- php实现过滤表单提交中html标签的方法
- C#实现过滤html标签并保留a标签的方法
- ASP.NET批量操作基于原生html标签的无序列表的三种方法