我需要用分隔符創建一個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