angularjs在远程加载时选择默认值
-
21-12-2019 - |
题
我正在尝试使用Angular中的Select元素中的默认值,并且似乎没有工作。无论我做了什么,它始终选择一个空白的默认元素,当数据在控制器中远程加载时
这是我的html:
<select
ng-options="Domain.Name for Domain in Domains"
ng-model="CurrentDomain"
ng-init="CurrentDomain = Domains[0]"
></select>
.
这是相关的控制器代码:
$scope.Domains = $resource('api/domain').query();
$scope.CurrentDomain = $scope.Domains[0];
.
我意识到这个问题已经多次被问到了很多次,而且我已经阅读了所有其他问题,但这些建议都没有似乎工作。如果有人有任何其他建议,请告诉我。
谢谢。
解决方案
问题是承诺。$scope.Domains
是承诺并待解决的问题。因此,在那段时间内未定义的$scope.Domains[0]
。
所以,正确的代码如下
var Domains = $resource('api/domain').query(function(){
$scope.Domains = Domains;
$scope.CurrentDomain = Domains[0];
});
.
pluunkr version - http://plnkr.co/edit/ppjswdkt4lhwvevecy0pmc?p=preview
参考 https://github.com/angular/angular.js/issues/4298 ,ng-init
不再能够解决承诺。
不隶属于 StackOverflow