【发布时间】:2017-10-31 21:46:47
【问题描述】:
我在想办法在 ng-repeat 的每个项目的 DOM 中插入 <p> 时遇到了一些麻烦。
我正在做这个对象数组的ng-repeat:
$scope.items = [
{name: "john", paragraph:"<p>hi, im john</p>"},
{name: "rita", paragraph:"<p>hi, im rita</p>"},
{name: "joe", paragraph:"<p>hi, im joe</p>"}
];
然后在我的html文件中:
<div ng-repeat="item in items">
<br>
<br>
<p>this is the beginning of {{$index}} box</p>
<p>{{item.name}}</p>
{{insertHTML(item.paragraph)}}
<p>this is the end of {{$index}} box</p>
<br>
<br>
</div>
insert.HTML(str) 函数应该将每个 item.paragraph 上的字符串转换为 html 元素。
函数如下:
$scope.insertHTML = function(str) {
var wrapper = document.createElement('div');
wrapper.innerHTML = str;
};
我创建了这个plunker,您可以在其中检查整个代码的运行情况
【问题讨论】:
-
如果你导入
ngSanitize,我认为你可以用ng-bind-html="item.paragraph"来做到这一点
标签: javascript html angularjs angularjs-ng-repeat