簡體   English   中英

AngularJS Json對象數組

[英]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
  });  
 }

每次從0nbrForme開始推入row 因此,您推送了意外的重復對象,當嘗試使用ng-repeat沒有track by DOM中顯示時,可能會顯示錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM