2017-04-03 192 views
1

我有角度选择问题。角度选择不更新

HTML:

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

CONTROLLER:

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

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

我期望那是什么选择有三个选项,并且'b'被选中,但是我只有三种选择,但没有选择。

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

我该如何解决这个问题?

+0

这似乎是为我工作,看看[此plunker](https://plnkr.co/edit/ rCOv2FPdjVP5ksFYw2nU?p =预览)。你能否在这里重现这个问题,如果我错过了什么? –

+0

只要vm.classList不是来自后端的响应,一切都很好。 –

+0

再次检查plunker ..我更新它最近加载值..它没有发挥任何作用..它似乎对我工作正常.. –

回答

2

此问题不适用于Angular当前版本1.6.3。这似乎是Angular 1.3的具体问题。虽然你可以通过使用track byng-options指令解决这个问题

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

Demo Plunker

+0

它看起来像逐条项目正在工作:o –

+0

@KamilLazam yupe,这没有戏法:) –