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

How to use ng-options with a dictionary style object?

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

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

我想使用 ng-options 让用户 select 一个来自上面选项的人。

我写的 HTML 看起来像这样:

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

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

我认为问题在于我需要指定我想显示选项的名称字段,但我对 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 属性 将是上例中的文本 - 而值是整个对象。