Angular select 没有更新

Angular select is not updating

我在 angular 中遇到 select 的问题。

HTML:

<select ng-model="vm.targetClassName" ng-options="item for item in vm.classList">
</select>

控制器:

vm.targetClassName = 'b';
generalResources.getClasses().then(setClasses);
function setClasses(classes) {
    vm.classList = classes.value;
}

此代码块 vm.classList 之后包含字符串数组,例如 ['a', 'b', 'c']

我期望的是 select 有三个选项,而 'b' 是 selected 但是我只有 select 有三个选项,但什么都没有 selected.

我用 AngularJS Inspector 检查了这些值,它清楚地表明 vm.classList['a', 'b', 'c']vm.targetClassName'b';

我该如何解决这个问题?

此问题无法在 Angular 当前版本 1.6.3 中重现。似乎是 Angular 1.3 的特定问题。虽然您可以通过在 ng-options 指令

上使用 track by 来解决此问题
<select ng-model="vm.targetClassName" 
   ng-options="item for item in vm.classList track by item">
</select>

Demo Plunker