angularjs - 如何将 ng-options 与字典样式对象一起使用?

标签 angularjs ng-options

我有一个如下所示的数据源:

var options = {
    "A": { name: "Bob", SSN: "111-22-3333" },
    "B": { name: "Sue", SSN: "444-55-6666" }
};

我想使用 ng-options 让用户从上面的选项中选择一个人。

我编写的 HTML 如下所示:

<select ng-model="ctrl.selectedPerson" ng-options="label for (value, label) in ctrl.options"></select>

这导致我能够选择一个选项,但它显示 [object Object] 作为每个选项的选择文本。

我认为问题是我需要指定我想显示选项的名称字段,但我对 ng-options 属性的语法完全感到困惑。

如何将 ng-options 与这个字典式数据源一起使用?

最佳答案

关闭语法 - 它是 value as text for (key, val) in obj - 所以你的将是:

ng-options="label as label.name for (value, label) in ctrl.options"

每个对象的 name 属性将是上面示例中的文本 - 而值是整个对象。

关于angularjs - 如何将 ng-options 与字典样式对象一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33024352/

相关文章:

javascript - 更改静态 HTML 表中 <td> 的颜色,这取决于没有 ng-Repeat 的 AngularJS 中后端数据是否为真

javascript - 将 JavaScript 中的变量传递给 open.window

javascript - ui-view 不加载模板

templates - AngularJS 表达式在 IE8 上的 style 属性中不起作用

javascript - Angular ng-options 删除空白选项并仅选择第一个选项

angularjs - 我应该使用 `this` 还是 `$scope` ?

javascript - 带有选项的 ng-repeat 不会将对象作为值返回

angularjs - 带有简单数组初始化的 ng-options

angularjs - 为 ng-options 绑定(bind)选择元素设置选定值

javascript - AngularStrap Select 和 ng-options 不能很好地使用动态数组