如何在每次重复3次后添加“div”?
[
client : "name",
client : "name",
client : "name",
client : "name",
client : "name",
client : "name",
client : "name",
client : "name",
client : "name",
]
预期结果是:
<div>name</div>
<div>name</div>
<div>name</div>
<div class="clear"></div>
<div>name</div>
<div>name</div>
<div>name</div>
<div class="clear"></div>
<div>name</div>
<div>name</div>
<div>name</div>
<div class="clear"></div>
答案 0 :(得分:1)
为什么不分割你的初始数组?
[
[
client : "name",
client : "name",
client : "name"
],
[
client : "name",
client : "name",
client : "name"
],
[
client : "name",
client : "name",
client : "name"
]
]
答案 1 :(得分:1)
创建一个过滤器,以三个为一组拆分数组并嵌套这些组。
过滤器应该是这样的:
app.filter('split', function() {
return function(target) {
var splitted = [];
if (!target) {
return target;
}
for(var i = 0; i < target.length; i += 3) {
splitted.push(target.slice(i, i+3));
}
return splitted;
}
});
在你的控制器中,只需初始化:
$scope.original = [1, 2, 3, 4, 5, 6, 7, 8, 9];
最后,这就是你的HTML应该是这样的:
<div ng-repeat="group in original | split">
<div ng-repeat="item in group">{{item}}</div>
<div class="clear"></div>
</div>
您可以参数化组长度。这可以通过向过滤器添加第二个参数并传递ng-repeat="group in original | split:3"
来实现。
不是原始数组未被修改。这是working Plunker。
答案 2 :(得分:1)
对此的一个解决方案是在循环内部使用$index
角度变量,就像在此plunker中一样。 http://plnkr.co/edit/ycnPtBLmbtV8hwIFTsGd?p=preview
此外,您发布的数据不是有效的数组或有效的json。我假设你不得不与json打交道。如果您的意思是数组,那么同样的$index
方法也可以用于数组。
答案 3 :(得分:-1)
你可以循环遍历数组,检查该迭代是否可以被3整除并插入额外的div?