Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在ng repeat Angularjs中重复选择选项_Javascript_Angularjs - Fatal编程技术网

Javascript 在ng repeat Angularjs中重复选择选项

Javascript 在ng repeat Angularjs中重复选择选项,javascript,angularjs,Javascript,Angularjs,我有一个表单,在ng repeat中重复选择选项。在这个表单中,我想为select元素选择default值。事实上,在第一个选择元素中,选择值为“n1”,在第二个选择元素中,选择值为“n2”。在两种情况下,选择元素解除值为“n2”。 我有什么问题 函数MyCntrl($scope){ $scope.data={ 订单:[{s:'}] }; $scope.list=[1,2]; $scope.data.orders[0]=“n1”; $scope.data.orders[1]=“n2”; $sc

我有一个表单,在ng repeat中重复选择选项。在这个表单中,我想为select元素选择default值。事实上,在第一个选择元素中,选择值为“n1”,在第二个选择元素中,选择值为“n2”。在两种情况下,选择元素解除值为“n2”。 我有什么问题

函数MyCntrl($scope){
$scope.data={
订单:[{s:'}]
};
$scope.list=[1,2];
$scope.data.orders[0]=“n1”;
$scope.data.orders[1]=“n2”;
$scope.size=[{code:1,名称:'n1'},{code:2,名称:'n2'}];
$scope.update=函数(){
log($scope.item.code、$scope.item.name)
}
}

{{size.name}
{{size.name}
{{size.name}

请尝试使用此代码。它使用
$parent.$index
而不是
$index

默认情况下,
ng repeat
$index
跟踪,因此无需指定它

这会导致内部循环出现问题,该循环也会通过
$index
进行跟踪。当您在内部循环中说$index时,它会选择内部循环索引,该索引的计算结果总是为true

函数MyCntrl($scope){
$scope.data={
订单:[{s:'}]
};
$scope.list=[1,2];
$scope.data.orders[0]=“n1”;
$scope.data.orders[1]=“n2”;
$scope.size=[{code:1,名称:'n1'},{code:2,名称:'n2'}];
$scope.update=函数(){
log($scope.item.code、$scope.item.name)
}
}

{{size.name}

我只想评论一下
ng repeat tracks by$index default
的说法,这是错误的。默认值为
按$id跟踪(obj)
。前者按顺序跟踪(如果您想在阵列中移动对象,则易碎)。后者通过标识跟踪,并为每个项目提供一个$$hasKey以保持它们之间的距离。如果您希望允许数组中存在重复项,或者如果您确信永远不会触动数组顺序,则按$index进行跟踪可能是一个好主意。