[英]AngularJS Json array of object
我正在嘗試使用AngularJS構建對象數組。
首先,我僅以1個對象開始。 當用戶單擊按鈕時,它將一個對象添加到我的數組中。
這是起作用的按鈕部分;
HTML :
<button ng-click="ajoutForme()" type="button" class="btn btn-default">+</button>
角度 :
$scope.ajoutForme = function(){
$scope.nbrForme++;
}
這正在按預期工作,我可以在頁面上看到nbrForme遞增。
但是此按鈕實際上是在表中添加一行。 因此,每次單擊按鈕時,我都想在表格中插入新行。
我執行以下操作;
角度 :
$scope.row = [];
$scope.$watch('nbrForme', function() {
for(i=0; i<nbrForme; i++){
$scope.row.push({
id: i
});
}
});
由於我正在觀看nbrForme
。 每次按下按鈕,都會在數組row
內創建一個新對象。
我在頁面上顯示row
數組以查看更改,我這樣做是這樣的:
HTML :
行= {{行}}
因此,在按下按鈕之前,我只有一個對象,其ID為0。 每次按下按鈕,我都可以看到新對象已添加到數組中,但id始終為0。
所以即時通訊輸出看起來像:
row = [{"id":0},{"id":0},{"id":0},{"id":0},{"id":0}]
所以我想知道為什么var i
沒有增加。
像這樣做:
$scope.nbrForme = 0;
$scope.row = [];
$scope.ajoutForme = function(){
$scope.row.push({
id: $scope.nbrForme++
});
}
可以嘗試一下
$scope.ajoutForme = function(){
$scope.nbrForme++;
$scope.row.push({
id: $scope.nbrForme
});
}
當你使用
for(i=0; i<nbrForme; i++){
$scope.row.push({
id: i
});
}
每次從0
到nbrForme
開始推入row
。 因此,您推送了意外的重復對象,當嘗試使用ng-repeat
沒有track by
DOM中顯示時,可能會顯示錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.