1.我创建了一个json文件
2、使用$http服务请求并获得了返回数据
3、使用ng-options来生成select的时候我设置了默认选中项
可是别的功能都成功了,唯独默认选中项设置失败,无论如何都没办法生成。请问这如何解决?
这是我的前端代码:
前端菜鸟,请大神赐教,感激不尽
Title
您选择的是:
他的地址是:
他的国度是:
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
这个问题是考验基础问题了。
首先
ng-init前面的回答都说指出来了,是在compile的时候调用,而此时selects还未从远程获取到值,所以自然obj是空的。其次,选中状态为空,是由此时的
$scope.obj还是空的,已知对应的ng-options中找不到相对应的,所以就空了,这里的$scope.obj取决于for item,所以赋值给 obj,也应该是{ "Name": "菜鸟教程1", "Url": "www.runoob.com", "Country": "CN" }这类数据。整体的结果应该:
一个完整的示例。
这样写是没问题的,我觉得应该是你数据还没拿到你的页面就开始渲染了,所以ng-init里selects当时还没拿到数据。
在拿到数据后自己主动给obj赋值 就可以拿到默认值了。
ng-init在$scope.selects还没有获取到数据的时候就运行了,所以应该在$scope.selects=res.data.sites;后面添加$scope.obj = $scope.selects[0];
ng-init只用在一些初始化定义上
另外一个问题obj的作用域问题
使用下面的写法