Javascript 如何在角度模板中增加$index值?
我想在表行中显示数据,每行2个元素 例如,如果我有这个数组:Javascript 如何在角度模板中增加$index值?,javascript,jquery,html,angularjs,Javascript,Jquery,Html,Angularjs,我想在表行中显示数据,每行2个元素 例如,如果我有这个数组: ['dinesh', 'kumar', 'mahesh', 'rathore'] 结果应该如下所示: -------------------- | dinesh | kumar | -------------------- | mahesj | rathore | -------------------- 当我将ng repeat放在tr中时,每行有一个单元格 当我把ng repeat放在td中时,我得到了一行4个单元格 我尝
['dinesh', 'kumar', 'mahesh', 'rathore']
结果应该如下所示:
--------------------
| dinesh | kumar |
--------------------
| mahesj | rathore |
--------------------
当我将ng repeat
放在tr
中时,每行有一个单元格
当我把ng repeat
放在td
中时,我得到了一行4个单元格
我尝试使用
$index+1
,但它没有改变实际的索引值。所以我得到了重复的元素。解决方案是什么?$index是当前的重复迭代。您不能更改索引值,只能将其用于显示目的
网上也有类似的帖子 解决方案是在拆分模型上重复:
function chunk(arr, size) {
var newArr = [];
for (var i=0; i<arr.length; i+=size) {
newArr.push(arr.slice(i, i+size));
}
return newArr;
}
$scope.chunkedData = chunk(['dinesh', 'kumar', 'mahesh', 'rathore'], 3);
功能块(arr,大小){
var newArr=[];
对于(var i=0;i将其添加到javascript代码中.)
// divide array
Array.prototype.divideIt = function(d){
if(this.length <= d) return this;
var arr = this,
hold = [],
ref = -1;
for(var i = 0; i < arr.length; i++){
if(i % d === 0){
ref++;
}
if(typeof hold[ref] === 'undefined'){
hold[ref] = [];
}
hold[ref].push(arr[i]);
}
return hold;
};
//除法数组
Array.prototype.divideIt=函数(d){
如果(this.length)如果您需要在某个特定tr
的td
中使用这4个名称,则在td
中使用ng repeat
而不是tr
。这不是一个好的做法,您必须在控制器中准备数据,并且在视图中只需显示它们。
<div ng-repeat="element in elements" ng-style="{'float:left;' : $even}">
{{element}}
</div
// divide array
Array.prototype.divideIt = function(d){
if(this.length <= d) return this;
var arr = this,
hold = [],
ref = -1;
for(var i = 0; i < arr.length; i++){
if(i % d === 0){
ref++;
}
if(typeof hold[ref] === 'undefined'){
hold[ref] = [];
}
hold[ref].push(arr[i]);
}
return hold;
};
<div ng-app>
<table>
<tr ng-repeat="subModel in ['dinesh', 'kumar', 'mahesh', 'rathore'].divideIt(2)">
<td ng-repeat="element in subModel ">{{element}}</td>
</tr>
</table>
</div>