如何为 ng-repeat 创建具有不同(唯一)hashkey 或 id 的对象的新实例?我尝试使用“track by”,但无法正常工作。
我的代码如下:
对于表中的每一行(可能是 5 ,10 ...行),我想显示存储在此列表中的同一组复选框:
$scope.list_of_checkboxes =
[
{
name: "ch1",
properties:[{t:"text1",v:0},{t:"text2",v:0},{t:"text3",v:0}]
},
{
name: "ch2",
properties:[{t:"text1",v:0},{t:"text2",v:0},{t:"text3",v:0}]
}
];
$scope.table_rows.objects
选中复选框后,我将使用此库
存储复选框对象:http: //vitalets.github.io/checklist-model/
$scope.table_rows=[{row_1:'row # 1', objects:[]},{row_2: 'row # 2',objects:[]},{row3:'row # 3',objects:[]}]
复选框显示并正常运行。但是,当我将选中复选框的对象存储在 $scope.table_rows.objects 中时,它们都具有相同的 hashkey。这就是问题。因为,当我显示
properties:[{t:"text1",v:0},{t:"text2",v:0},{t:"text3",v:0}]
为输入字段并更新属性值之一时,例如table_rows[key].objects[1].v = 30
,相同的值被复制到存储在其他行中的同一对象的属性中。
我试图返回新实例(但它不起作用):
$scope.list_of_checkboxes = function (){
return ([
{
name: "ch1",
properties:[{t:"text1",v:0},{t:"text2",v:0},{t:"text3",v:0}]
},
{
name: "ch2",
properties:[{t:"text1",v:0},{t:"text2",v:0},{t:"text3",v:0}]
}
])
}