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
});
}
每次开始推送时row
从0
到nbrForme
。 所以你推送了重复的对象,这是意外的,当尝试在没有track by
的情况下使用 ng-repeat
在 DOM 中显示时可能会显示错误。
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序