ng-options 所选数据 return 对象
ng-options selected data return object
我有一个对象数组 { id:x, name: 's' }
并使用 ng-options 创建带有默认 selected 数据的下拉列表。到目前为止一切正常。
现在,当我 select 选项之一并看到 selected 数据时,它 return 完整的对象,但我只需要名称字段以及默认值必须是 select已加载。
// in controller
vm.teams = [
{
id: 1,
name:'First'
},
{
id: 2,
name:'Second'
},
{
id: 3,
name:'Third'
}
];
vm.teamFormData = {
team: ''
};
vm.getTeam = function(formData) {
$log.debug(formData); << here I get object
}
// in View
<select ng-init="vm.teamFormData.team = vm.teams[0]"
ng-model="vm.teamFormData.team"
ng-options="t.name for t in vm.teams track by t.id" >
</select>
这是我的working plunker
您的 ngOptions
语法略有偏差 - 它是 value as text for item in array
ng-options="t.name as t.name for t in vm.teams track by t.id"
然后你的 ngInit
变成
ng-init="vm.teamFormData.team = vm.teams[0].name"
旁注 - 你可能不想要 ngInit
- 在你上面的例子中没有真正的用例。相反,只需在控制器中设置 属性。
请参阅 plunkr:https://plnkr.co/edit/7SGIdtfjucMnMqiEa7JY?p=preview
我有一个对象数组 { id:x, name: 's' }
并使用 ng-options 创建带有默认 selected 数据的下拉列表。到目前为止一切正常。
现在,当我 select 选项之一并看到 selected 数据时,它 return 完整的对象,但我只需要名称字段以及默认值必须是 select已加载。
// in controller
vm.teams = [
{
id: 1,
name:'First'
},
{
id: 2,
name:'Second'
},
{
id: 3,
name:'Third'
}
];
vm.teamFormData = {
team: ''
};
vm.getTeam = function(formData) {
$log.debug(formData); << here I get object
}
// in View
<select ng-init="vm.teamFormData.team = vm.teams[0]"
ng-model="vm.teamFormData.team"
ng-options="t.name for t in vm.teams track by t.id" >
</select>
这是我的working plunker
您的 ngOptions
语法略有偏差 - 它是 value as text for item in array
ng-options="t.name as t.name for t in vm.teams track by t.id"
然后你的 ngInit
变成
ng-init="vm.teamFormData.team = vm.teams[0].name"
旁注 - 你可能不想要 ngInit
- 在你上面的例子中没有真正的用例。相反,只需在控制器中设置 属性。
请参阅 plunkr:https://plnkr.co/edit/7SGIdtfjucMnMqiEa7JY?p=preview