AngularJS:使用子对象属性作为ng模型

本文关键字:ng 模型 属性 对象 AngularJS | 更新日期: 2023-09-27 18:33:03

我有一个下拉列表,它绑定到具有以下结构的对象用户:

{
  userId:1,
  userLogin:"test",
  locale: { localeCode:"en-US" }
}

此结构直接来自 C# 模型类,其中 User 和 Locale 是作为关联链接的两个类(User 有一个 Locale)。

因此,我想定义以下下拉列表,而无需执行任何自定义逻辑,例如以特殊方式序列化对象,或将$watch添加到"UI"属性,以便我可以在后台更新locale.localeCode。

<select id="dropLocale" required="required" addempty="true" 
        ng-model="user.locale.localeCode" 
        ng-options="i.localeCode as i.localeCode for i in localeList"></select>

任何帮助将不胜感激!谢谢

AngularJS:使用子对象属性作为ng模型

假设数据结构是这样的

$scope.localeList = [{
    userId: 1,
    userLogin: "test",
    locale: {
        localeCode: "en-US"
    }
}, {
    userId: 2,
    userLogin: "test2",
    locale: {
        localeCode: "de"
    }
}];

我想你错过了locale的水平,试试这个

ng-options="i.locale.localeCode as i.locale.localeCode for i in localeList"