如何将$se.trustAsHtml与一些HTML节点一起使用
How to use $sce.trustAsHtml with some HTML node
我面临的问题是,我从服务器获得了一些表示html的字符串我需要解析一些节点的样式属性,然后用Angular在视图中显示这个html。
所以我看到了这个答案https://stackoverflow.com/a/494348/1022726帮助我创造从字符串中提取一个html节点,然后我遍历每个项目并更改样式。最后,我用innerHTML的值做了$sce.trustAsHtml。
我有这个代码http://plnkr.co/edit/HUfAGR2uNMwb48rqXbkk?p=preview
<div ng-bind-html="trustedHtml"></div>
function($scope, $sce) {
var s = '<h1 style="color: red; font-size: 16px;">Subheader</h1><p style="font-size: 12px;">text</p>';
var div = document.createElement('div');
div.innerHTML = s;
$(div).find("*").each(function () {
$(this).height('100px');
});
$scope.trustedHtml = $sce.trustAsHtml(div.innerHTML);
}]);
我想知道是否有更好的方法来解析表示html的字符串,然后在视图中显示该html。感谢您的帮助。
你可以把它变成一个过滤器,比如
app.filter('trusted', function($sce){
return function(text) {
return $sce.trustAsHtml(text);
};
});
然后在你的html中你可以有
<div ng-bind-html="text | trusted"></div>
相关文章:
- window.getSelection()不会't给出html节点
- 删除HTML节点而不删除其子节点
- 需要使用JavaScript根据类名合并相邻的HTML节点
- 通过 AJAX 发送表单,HTML 节点选择用于数据发送
- 使用 jQuery 将自定义 ID 添加到克隆的 HTML 节点
- 为什么我的html节点保持类ng隐藏属性ng show=true
- Javascript:显示/隐藏HTML节点
- 将数组中的一个值附加到每个值'等效的html节点
- 仅选择 html 节点的根项
- 如何检查 DOM 节点是否是“html”节点
- 如何从控制器获取表示 ngRepeat 中元素的 HTML 节点的参数
- PHP在HTML节点之间获取文本
- Knockoutjs将biding应用于多个html节点
- 使用java javascript脚本API操作HTML节点
- HTML节点图生成器
- 如何遍历HTML节点以查找匹配项并从节点中获取下一个innerHTML
- 如何获得具有特定数据属性的html节点
- 如何设置两个html节点的innerText,其中一个节点是子节点
- 如何通过javaScript查找html节点
- 如何设置一个html节点's innerText和innerHtml不使用jQuery