Angular ng-options 映射 "select" 部分到不同的模型属性
Angular ng-options mapping "select" portion to different model properties
我正在尝试使用 ng-options select 角色。
我有如下所示的 Role 对象:
{
Id: 'someRoleId',
Name: 'someRoleName
}
然后是来自服务器的 select 选项列表,如下所示:
{
Value: 'someRoleId'
Text: 'someRoleName',
}
目前我将这个 select 字段绑定到控制器上一方的角色 属性。
<select ng-model="party.Role" ng-options="o as o.Text for o in options.RoleOptions track by o.Value" />
它正确地翻译了选项,但是 selected 值 (o) 没有匹配的属性,因此绑定不起作用。有什么方法可以使用 ng-options 将值映射到 Id,并将文本映射到名称?
谢谢!
试试这个..
标记:
<select ng-model="role" ng-options="o as o.Text for o in options.RoleOptions track by o.Value" ng-model-options="{getterSetter:true}"/>
控制器:
var _role;
$scope.role = function (val) {
if (angular.isDefined(val)) { //setter
_role = {
'Id': val.Value,
'Name': val.Text
}
} else {
//getter
return {
'Value': _role.Id,
'Text': _role.Name
};
}
}
我正在尝试使用 ng-options select 角色。
我有如下所示的 Role 对象:
{
Id: 'someRoleId',
Name: 'someRoleName
}
然后是来自服务器的 select 选项列表,如下所示:
{
Value: 'someRoleId'
Text: 'someRoleName',
}
目前我将这个 select 字段绑定到控制器上一方的角色 属性。
<select ng-model="party.Role" ng-options="o as o.Text for o in options.RoleOptions track by o.Value" />
它正确地翻译了选项,但是 selected 值 (o) 没有匹配的属性,因此绑定不起作用。有什么方法可以使用 ng-options 将值映射到 Id,并将文本映射到名称?
谢谢!
试试这个..
标记:
<select ng-model="role" ng-options="o as o.Text for o in options.RoleOptions track by o.Value" ng-model-options="{getterSetter:true}"/>
控制器:
var _role;
$scope.role = function (val) {
if (angular.isDefined(val)) { //setter
_role = {
'Id': val.Value,
'Name': val.Text
}
} else {
//getter
return {
'Value': _role.Id,
'Text': _role.Name
};
}
}