我在下面选择了当通过IE9中的http调用从服务器读取statuslist时不会显示默认值的选项。如果在控制器本身中设置了状态列表值,则默认值显示正常。
<select id="status" class="form-control" ng-init="selectedStatus = statuslist[0]"
ng-model="selectedStatus"
ng-options="status for status in statuslist">
</select>
如果我这样做,下拉列表中会显示默认值
$scope.statuslist = [
"New",
"Management Review"
]
但不是如果状态列表来自服务器。如果我点击下拉菜单而不是默认值,我可以看到列表。
有人可以指出我在这里失踪的显而易见的事情吗?
答案 0 :(得分:1)
ng-init
不应该在那里使用,因为它将在html得到渲染时进行评估,并且当时statuslist
值未在$scope
内加载,所以它将selectedStatus
设置为undefined
最好在从服务器加载$scope.selectedStatus = $scope.statuslist[0]
之后立即添加此行statuslist
。