假设我有一个像
这样的简单循环<div ng-repeat="item in items">{{item.foo}}<br></div>
或
<div ng-repeat="item in items" ui-view="itemView"></div>
如何避免渲染定义标记(div
)以获取:
Foo 1<br>
Foo 2<br>
Foo 3<br>
而不是:
<div>Foo 1<br></div>
<div>Foo 2<br></div>
<div>Foo 3<br></div>
为什么:我需要这个,即创建表格行,不允许<tr>
包裹div
,是的,我知道我可以使用<tr ng-repeat=...
对于简单的情况,无论如何我更愿意将tr
标记移动到itemView
(我有几个条件来检查添加即适当的CSS类,否则我需要将这些类添加到行中的每个td
答案 0 :(得分:2)
您可以使用tbody:
<tbody ng-repeat="item in items">
<tr>
<td>{{ item.foo }}</td>
</tr>
</tbody>
答案 1 :(得分:2)
通过使用 替换:true 属性创建自定义指令,您可以使用指令模板替换原始html div
这是一个受到ng-book启发的例子:
<div my-directive></div>
app.directive('myDirective' function() {
return {
template: '<div>my directive without replacement</div>
}
});
html将保留并在其中注入指令的模板,如:
<div my-directive>
<div>my directive without replacement</div>
</div>
但如果你设置&#34;替换:true&#34;像:
app.directive('myDirective' function() {
return {
replace: true
template: '<div>my directive with replacement<div>'
}
});
然后只有指令的模板,它取代了原来的
<div>my directive with replacement<div>