我有一个如下集合:
$scope.TeamType = [
{
"name": "Beginner",
"value": 0
},
{
"name": "Novice",
"value": 1
},
{
"name": "Expert",
"value": 2
},
{
"name": "Masters",
"value": 3
}];
我的控制器中也有一个变量:
$scope.SelectedTeamType = 0;
我正在尝试在以下声明中使用这些项目
<select ng-model="SelectedTeamType" ng-options="v as v.name for v in TeamType track by v.value"></select>
我希望select与init一起使用模型中的相应值,并在select更改时将值保存到模型中。我不确定为什么模型SelectedTeamType将整个对象存储到它而不是v.value以及它为什么不用初学者初始化。
答案 0 :(得分:1)
根据评论我需要将$ scope.SelectedTeamType保持为整数值
使用
<select
ng-model="SelectedTeamType"
ng-options="v.value as v.name for v in TeamType"
></select>
由于您在ngOptions中提供的表达式而存储对象。
您需要绑定对象,使用
$scope.SelectedTeamType = $scope.TeamType[0];
更好
$scope.SelectedTeamType = $scope.TeamType.filter(function(t) {
return t.value == 0;
});