AngularJS和ngRepeat-每n次重复插入额外元素

AngularJS和ngRepeat-每n次重复插入额外元素,angularjs,angularjs-ng-repeat,Angularjs,Angularjs Ng Repeat,我试图创建一个结构,其中每重复7个div,就会插入一个额外的div。此div必须属于父div,而不是重复div之一的子div 仅仅更改类是不够的,整个内容将不同,并且完全不同的ngShow逻辑将与附加div一起使用 例如: <div id="parent"> <div class="child"></div> <div class="child"></div> <div class="child"></di

我试图创建一个结构,其中每重复7个div,就会插入一个额外的div。此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>

该示例使用特定数量的div,ngRepeat可以是任意数量。同样重要的是,ngRepeat的最后一个结果会在后面加上一个div,即使它不是7的精确倍数

我目前使用的ngRepeat逻辑是:

<div id="parent">
  <div class="child" ng-repeat="o in data"></div>
  <div class="special-child"></div>
</div>

但是这不能正常工作,因为在所有重复的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+

您需要与此类似的东西:

<div ng-repeat="o in data">
  <div class="child"></div>
  <div ng-if="$index % 7 == 0" class="special-child"></div>
</div>


有没有不需要重复父项的方法?想把它作为最后的手段,因为如果我需要在两者之间添加一个额外的div,这意味着大量的CSS更改!回答我的问题。ng重复开始和ng重复结束似乎是答案(AngularJS 1.2+)。我将ng repeat start放在子级上,ng repeat end放在特殊子级上,并根据建议使用了ng if的一个变体,这样可以在不重复父级的情况下得到结果!