我需要用分隔符创建一个ng-repeat
迭代。问题是我必须随机地在每两个,三个或四个元素之后添加分隔符。我开始使用此代码:将数据分成ng-repeat进行随机迭代次数
<li repeat-start="person in persons track by $index">
<p>{{ person.name }}</p>
</li>
<li ng-repeat-end ng-if="($index + 1) % 2 === 0">
<p>--divider--</p>
</li>
它,当我指定内部ng-if
2的精确值的伟大工程。它显示了我那样的结果。
- 人1
- 人2
- --divider--
- 人3
- 人4
- --divider--
- 人5
- 等。 。
但是如何动态指定这个系数?我添加了一个功能genereate中2,3和4
$scope.getNumber = function() {
return Math.floor(Math.random() * (3) + 2);
}
一个随机数,但是,当我试图改变硬编码值,我不能看到所希望的结果。这些解决方案都不起作用。 Neigher简单的函数调用。
ng-if="($index + 1) % getNumber() === 0"
也不与ng-init
变化。
<li repeat-start="person in persons track by $index" ng-init="coeff = getNumber()">
<p>{{ person.name }}</p>
</li>
<li ng-repeat-end ng-if="($index + 1) % coeff === 0">
<p>--divider--</p>
</li>
如何实现此功能?
我总是得到错误“迭代到达。中止! 观察者在最近的5次迭代中触发了:[[{“msg”:“isShowDivider($ index + 1)”,“newVal”:true,“oldVal”:false}“ – Luchnik
请检查编辑代码 –
同样的问题仍然存在,也许它在我的应用程序中具体。 – Luchnik