当异步加载选项时,选择指令不选择选项

时间:2015-01-05 22:29:21

标签: angularjs angularjs-directive

我有一个<select>指令,其选项是异步加载的。 ng-model属性指向的变量在加载选项之前存在。但是,加载选项后,未选择正确的选项。相反,选择变为空白。我创建了一个用于演示此行为的插件:http://plnkr.co/edit/KNunC6

3 个答案:

答案 0 :(得分:1)

https://github.com/angular/angular.js/issues/9714#ref-pullrequest-53337829

好像这是一个有角度的核心bug。使用ng-repeatng-checked我会更成功。

答案 1 :(得分:1)

我认为这可以解决您的问题。这是一个plunker。问题是您在承诺完成之前初始化ngModel。填充列表后需要初始化ngModel,因此angular可以确定哪个optionselected。此外,ngOptions有时会很棘手,因为angular会为每个option分配一个唯一ID,并忽略value属性。我也有这个问题几次,讨厌一个!

答案 2 :(得分:0)

当选项的值部分与标签部分具有相同值时,会出现问题。

在您的情况下,值== id ==&#39;加拿大&#39;和标签==名称==&#39;加拿大&#39;同样。如果您将其中一个更改为其他任何内容,它将起作用。我不确定为什么这是一个问题,但只是改变,它会没问题。

示例:更改加拿大&#39;到加拿大&#39;:

[
    { id: 'Canada', name: 'Canada ' }, 
    { id: 'US', name: 'United States of America' }
]