Javascript 第一次加载时如何选择AngularJS模型?
我正在使用AngularJS填充一个选择选项列表 默认情况下,我会根据字段选择一个选项。 但问题是我无法在第一次加载时获取所选项目的id 当我更改选项时,它会起作用Javascript 第一次加载时如何选择AngularJS模型?,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,我正在使用AngularJS填充一个选择选项列表 默认情况下,我会根据字段选择一个选项。 但问题是我无法在第一次加载时获取所选项目的id 当我更改选项时,它会起作用 请检查此plunker代码:我建议使用ng选项: <select ng-model="selectedItem" ng-options="item.id as item.text for item in list"> 我正在使用$resource获取项目,可能是因为控件从未进入forEach内部。我该怎么办?@Litt
请检查此plunker代码:我建议使用ng选项:
<select ng-model="selectedItem" ng-options="item.id as item.text for item in list">
我正在使用$resource获取项目,可能是因为控件从未进入forEach内部。我该怎么办?@LittleLebowski,将forEach放入
query()
回调函数中。(您也可以$watch
更改列表
,并将forEach放在watch回调中。)我将其标记为正确答案,但在我的情况下,我将使用AngularUI-Select2,它声明指令不适用于ng选项,并建议使用ng repeat。使用ng repeat?@LittleLebowski解决方案的任何解决方案,只需将forEach添加到原始Plunk中的控制器中,即可设置初始模型值。看见在这个新的plunker中,我还将数字转换为字符串,因为在ng repeat中,值是字符串,而不是数字。
angular.forEach($scope.list, function(item, key){
if(item.isMandatory) {
$scope.selectedItem = item.id;
}
});