javascript - angularjs 关于异步获取的 ng-options 无法和 ng-model 上的值默认选中的问题
PHPz
PHPz 2017-04-10 15:55:26
[JavaScript讨论组]

借用 buzz 之前的回答举例的代码
<select ng-model="selected" ng-options="x.id as x.name for x in users"></select>

$scope.users = [
    {name:'a',id:'1'},
    {name:'b',id:'2'},
    {name:'c',id:'3'}
];
$scope.selected='2';//id的值,区分类型
$scope.selected=$scope.users[0].id;//如果想要第一个值

我的问题:
获取$scope.users 还在请求的异步队列中,这样 $scope.selected='2'; 然而并不能找到 $scope.users = [ ]; 中的对象。

$apply $digest 这些也是然并卵 比如 httprequest(function (data) { $scope.users = data; $scope.$apply }) // 恭喜 报错重复触发 Error: [$rootScope:inprog] $digest already in progress

目前想到的是用setTimeout 来触发 select ng-change 来更新 ng-option 的默认选择问题
这有有其他的问题 应为 ng-change 可能不是用来准备初始化而是准备 做其他业务操作的

回复楼下那位兄弟的

PHPz
PHPz

学习是最好的投资!

全部回复(4)
PHP中文网

select添加一个默认项呢?比如:请选择blabla

ringa_lee

$http.post(url,data)
.success(function(data,status){
$scope.user = data;
$scope.selected = $scope.user[0].id;
}).then(function(){
//ToDo code....
})
你把设置的代码放到 success回调中去完成 不就是了?

迷茫

遇到同样问题,不过我的是如果 值 是中文的话才会出现这个问题...如果是数字获取或英文字母即使是异步也没问题...

阿神

相似问题 在controll里给select的modal赋值 并不能改变modal的值

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号