带有一对密钥对的Angularjs ng-options

时间:2015-12-28 21:13:58

标签: angularjs

我有以下数组。我正在尝试不同的ng-options但没有用。如何使用Angularjs ng-options在Drop down中渲染?

getLanguages: [0:对象:键:“en”值:“英语”,1:对象:键:“fr”值:“法国”]

<select ng-options="language.Object.Value for language in getLanguages track by language.Object.Value"/>

<select data-ng-model="vm.model">
    <option data-ng-repeat="language in getLanguages" value="{{language.Object.Key}}">{{language.Object.Value}}</option>
</select>

我得到了答案:

<select class="form-control" data-ng-model="vm.model" >
    <option data-ng-repeat="language in vm.getLanguages()" value="{{language.Key}}">{{language.Value}}</option>
</select>

3 个答案:

答案 0 :(得分:1)

尝试ng-options = "language.Object.Key as language.Object.Value for language in getLanguages()"

答案 1 :(得分:0)

author.articles.create!( title: "Title",
                         origin: :website,
                         content: content )

答案 2 :(得分:0)

答案真的是上面DavidStark的答案的组合。

首先,您需要确保您的控制器正确地返回语言,正如Stark在答案中指出的那样。

例如,它应该包括:

$scope.languages = [
  { key : "en",
    value : "English" },
  { key : "fr",
    value : "French" }];

然后,您可以使用这些语言填充<select>个选项。正如David指出的那样,正确的语法类似于以下内容:

<select ng-model="model.language"
        ng-options="language.key as language.value for language in languages">

这种语法的含义是&#34;显示&#39;值&#39;在下拉列表中将其映射到“键”键。对于每种语言&#39;在语言&#39;返回的集合中变量范围。&#34;因此,下拉菜单将显示&#34;英语&#34;,&#34;法语&#34;等,当您选择一个时,它会将模型值设置为&#34; en&#34;,& #34; fr&#34;等

以下是显示上述内容的working Plunkr