我想在AngularJS中创建一个"虚拟"用于制作嵌套ng-repeats的元素 以下是
data.test = [{h:1, d:[11,12]}, {h:2, d:[21,22]}];
----------------------
<dummy ng-repeat="a in data.test">
<h3>{{a.h}}</h3>
<p ng-repeat="b in a.d">{{b}}</p>
</dummy>
将扩展为
<h3>1</h3>
<p>11</p>
<p>12</p>
<h3>2</h3>
<p>21</p>
<p>22</p>
请注意,我不想成为div
中的每个群组或任何其他元素。
我尝试过以下指令
app.directive('dummy', function () {
return {
restrict: 'E',
replace: true,
template: ''
};
});
但是,它似乎保留了dummy
个节点。
这可能吗?
答案 0 :(得分:4)
指令ng-repeat-start
and ng-repeat-end
可用于此目的。
<h3 ng-repeat-start="a in data.test">{{a.h}}</h3>
<p ng-repeat-end ng-repeat="b in a.d">{{b}}</p>
不需要虚拟元素/指令,可以看作in this Plunker。
答案 1 :(得分:0)
搜索谷歌后,我发现了一篇回复此帖子的博文。它显示了如何group with ng-repeat-start and ng-repeat-end。有一个可下载代码的运行示例。如果跳到最后,您可以看到如下所示的代码:
<body ng-controller="TeamListCtrl">
<div ng-repeat-start="team in teams" class="header">{{team.name}}</div>
<div ng-repeat="player in team.players" class="item">{{player.firstName}} {{player.lastName}}</div>
<div ng-repeat-end><br /></div>
</body>