我试图创建一个结构,在这个结构中,每7个重复的div之后都插入一个额外的div。 这个div必须属于父级,而不是重复的div之一的子级。
仅仅更改类是不够的,整个内容都会有所不同,并且将使用完全不同的ngShow逻辑来处理额外的div。
例如:
<div id="parent">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="special-child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="special-child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="special-child"></div>
</div>
那个示例使用了特定数量的
元素,而ngRepeat可以是任何数量。同样重要的是,即使不是7的倍数,ngRepeat的最后一个结果也会放置在额外的
元素中。
我正在使用的当前ngRepeat逻辑是:
<div id="parent">
<div class="child" ng-repeat="o in data"></div>
<div class="special-child"></div>
</div>
但是这个方法不太有效,因为额外的
标签只会在所有重复的
标签之后插入一次。
附带可行示例更新
<div id="parent">
<div class="child" ng-repeat-start="o in data"></div>
<div class="special-child" ng-if="( $index + 1 ) % 7 == 0 || $last" ng-repeat-end></div>
</div>
这个解决方案需要 AngularJS 1.2+ 版本。