Javascript 如果在ng选项中使用track by,则不会更新selectbox值
当我在Javascript 如果在ng选项中使用track by,则不会更新selectbox值,javascript,angularjs,angular-ngmodel,ng-options,angularjs-ng-options,Javascript,Angularjs,Angular Ngmodel,Ng Options,Angularjs Ng Options,当我在ng options中使用track by时,Angular不会更新selectbox值,即使我在selectbox中选择了其中一个值。第二次尝试后,即使已设置模型值,它仍能按预期工作 var myapp=angular.module('myapp',[]); myapp.controller('FirstCtrl',函数($scope){ $scope.items=[ ['ali','ali'] ]; }); 值:{{selected}} track by的目标是将其用于对象而不是数
ng options
中使用track by
时,Angular不会更新selectbox值,即使我在selectbox中选择了其中一个值。第二次尝试后,即使已设置模型值,它仍能按预期工作
var myapp=angular.module('myapp',[]);
myapp.controller('FirstCtrl',函数($scope){
$scope.items=[
['ali','ali']
];
});代码>
值:{{selected}}
track by的目标是将其用于对象而不是数组元素。我建议您使用对象。这里有一个例子
var myapp=angular.module('myapp',[]);
myapp.controller('FirstCtrl',函数($scope){
$scope.items=[
{id:1,值:'ali'},
{id:2,值:'ahmed'}
];
});代码>
值:{{selected}}
文档中实际解释了这一点(-请查找“选择为并跟踪方式”一段)
似乎无法将跟踪方式
与一些选择为
表达式一起使用
但是,如果您使用ng options=“item as item[1]作为按项目[0]跟踪的项目中的项目”
而不是ng options=“item[0]作为按项目[0]跟踪的项目中的项目[1]”
请参见如注释所述
跟踪对象
需要一个对象数组
,然后您可以按任何对象属性进行跟踪
var myapp=angular.module('myapp',[]);
myapp.controller('FirstCtrl',函数($scope){
$scope.items=[
{姓名:“阿里”},
{姓名:“本”},
{姓名:“比尔”}
]
});代码>
值:{{selected}}
track by的目标是将其用于对象而不是数组元素