我有一个<select>
指令,其选项是异步加载的。 ng-model
属性指向的变量在加载选项之前存在。但是,加载选项后,未选择正确的选项。相反,选择变为空白。我创建了一个用于演示此行为的插件:http://plnkr.co/edit/KNunC6。
答案 0 :(得分:1)
https://github.com/angular/angular.js/issues/9714#ref-pullrequest-53337829
好像这是一个有角度的核心bug。使用ng-repeat
和ng-checked
我会更成功。
答案 1 :(得分:1)
我认为这可以解决您的问题。这是一个plunker。问题是您在承诺完成之前初始化ngModel
。填充列表后需要初始化ngModel
,因此angular可以确定哪个option
是selected
。此外,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' }
]