在AngularJS 1.3应用程序中,我有一个表单,我从后端异步获取模型和select控件的可能值。当我在ng-options
中使用的值之前获得模型值时,在选择控件中不会选择任何选项。
我设法重现了这种行为:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, $timeout) {
$scope.model = { value: 101 };
$timeout(function() {
$scope.model.values = [100, 101, 102, 103];
}, 1000);
});
视图:
Options: <select ng-model="model.value"
ng-options="v for v in model.values">
<option value="">Select some...</option>
</select>
超时模型具有旧值101但未选择任何选项。
目前我在select上使用ng-if="model.values"
找到了解决方法,但我觉得应该有更好的方法。
有人可以解释为什么没有选择选项吗?
编辑:我在Firefox中打开了Plunkr,然后我开始工作了,然后我回到了Chrome,它看起来不像crossbrowser一样......答案 0 :(得分:1)
看起来这是AngularJs 1.3.x中的regression。
您提供的示例在AngularJs 1.2.x和1.4.x中运行良好。
答案 1 :(得分:0)