2017-03-15 19 views
1

私の要件は、angularjs.ng-repeatでng-repeatを繰り返すたびに$ indexの値を増やすことです.ng-initを使って を使って増分を試みましたが、 ng-repeatの開始時にインクリメントされています。これで誰も助けてくれますか?


 

 
<div class ="row" ng-repeat ="offer in offers track by $index" ng-init="$index=$index+5"> 
 
    <div class="col-md-6"> 
 
    <span>offers[$index].title</span> 
 
    <span>offers[$index+1].title</span></div> 
 
    <div class="col-md-4"><span>offers[$index+2].title</span> 
 
    <span>offers[$index+3].title</span> 
 
    <span>offers[$index+4].title</span></div> 
 
    </div>

Iは、代替的に最初の行の2つのタイトルを表示し、2行目のそれは順番に他の三枚のoffers.The第1の反復プリントタイトルのタイトルが表示された行を使用して問題しかし、2回目の反復では、$ indexの値が2であるのでデータを複製します。したがって、$ indexの値を操作してタイトルを順番に表示する必要があります。

+1

あなたは、カウントを何を使用していますか? '$ index'や' offers.length'を使うことはできませんか? – haxxxton

+0

私は、各反復の後に配列の最初の5項目をスキップする必要があります。最初の反復では最初の5項目をレンダリングし、次に2回目の反復では最初の5項目をスキップして6項目からレンダリングする必要があります – Idlliofrio

+0

フィルターを使ってうまく処理する方が良いでしょう。あなたは 'offers'と' count'変数を使って何をしようとしているのかを詳しく説明できますか? – haxxxton

答えて

1

AngularJs各イテレーションのインデックス値を指定すると、そのインデックス値を使用してカウントを変更できます。

<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 

 
<body ng-app="myApp" ng-controller="myCtrl"> 
 
Count = {{count}} 
 
<h1 ng-repeat="x in records track by $index">{{x}} {{$index}} Count : {{count+$index}}</h1> 
 

 
<script> 
 
var app = angular.module("myApp", []); 
 
app.controller("myCtrl", function($scope) { 
 
    $scope.count = 5; \t 
 

 
    $scope.records = [ 
 
    "Iteration : ", 
 
\t "Iteration : ", 
 
    \t "Iteration : ", 
 
\t "Iteration : ", 
 
    ] 
 
}); 
 
</script> 
 

 
</body> 
 
</html>

Chech That AngularJs Doc Link

1

次のことを試してみてください。

var myApp = angular.module('myApp', []); 
 
myApp.controller('myController', ['$scope', function($scope){ 
 
    $scope.offers = [{title: 'Title 1'},{title: 'Title 2'},{title: 'Title 3'}]; 
 
}]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app='myApp' ng-controller='myController'> 
 
    <div ng-repeat ="offer in offers"> 
 
    <span>{{offers[$index + 0].title}}</span> 
 
    </div> 
 
</div>

関連する問題