Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在角度模板中增加$index值?_Javascript_Jquery_Html_Angularjs - Fatal编程技术网

Javascript 如何在角度模板中增加$index值?

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个单元格 我尝

我想在表行中显示数据,每行2个元素

例如,如果我有这个数组:

['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>