ng-options 未将任何选项加载到 select

ng-options not loading any options into select

我的 select 选择列表是空的,使用 ngOptions 或 ngRepeat。 Angular 的新手,我怀疑范围问题 - Angular 文档和此处的其他帖子尚未找到解决方案。

对象数组肯定已加载 - 请参阅下面的代码片段,了解哪些有效,哪些无效。 2 件有效,1 件无效。

<form name="aForm">
  <!--this works-enumerates the array of objects.  straight from tutorial-->
  <li *ngFor="let x of models">
    <span>{{x.id}}</span> {{x.name}}
  </li>

  <!--this works for showing data in the list, but yuk-->
  <select ng-model="selectedmodel" > 
    <option value="{{models[0].id}}">{{models[0].name}}</option>
    <option value="{{models[1].id}}">{{models[1].name}}</option>
    <option value="{{models[2].id}}">{{models[2].name}}</option>
    <option value="{{models[3].id}}">{{models[3].name}}</option>
    <option value="{{models[4].id}}">{{models[4].name}}</option>
  </select>

  <!--this does not work - produces an empty choicelist-->
    <select name="pricemodelselect"
            ng-model="selectedpricemodel"
            ng-options="x as x.name for x in models">
    </select>
</form>

在选项上执行 *ngFor 而不是在 select 上执行。试试这个:

<select ng-model="selectedmodel"> 
    <option *ngFor="let x of models" value="{{x.id}}">{{x.name}}</option>
</select>

无论您将此结构指令放在哪个标记上,都将遍历数组的所有值。