当ng选项引用不同模型与选择模型时,AngularJS 1.3.0不再显示默认
发布时间:2020-12-17 07:35:07 所属栏目:安全 来源:网络整理
导读:我的表单select和ng选项在AngularJS 1.2.26中工作得很好,如果容器数组中有toy.toy_container_name,则始终显示默认选择.但是,升级到1.3.0后,选择下拉菜单不再显示默认选择(Chrome,FF和Safari中的相同行为,因此不会出现浏览器问题).我的硒测试抓住了这一点,现
我的表单select和ng选项在AngularJS 1.2.26中工作得很好,如果容器数组中有toy.toy_container_name,则始终显示默认选择.但是,升级到1.3.0后,选择下拉菜单不再显示默认选择(Chrome,FF和Safari中的相同行为,因此不会出现浏览器问题).我的硒测试抓住了这一点,现在我为什么感到困惑. 1.3.0似乎没有任何可能导致此问题的贬低或显着变化(1.2.6).此外,
<select class="form-control" ng-model="toy.toy_container_name" ng-options="c.container_name as c.container_name for c in containers" required> <option value="">- Pick Container -</option> </select> 进一步使这个混乱是对源的检查显示正确的选择;但是,下拉列表框不显示所选的默认值: Chrome元素检查器: <option value="" class="">- Pick Container -</option> <option value="0">A-BIN</option> <option value="1" selected="selected">B-BIN</option> <option value="2">F-BIN</option> <option value="3">G-BIN</option> 编辑:我发现问题: 为什么要移动’$scope.toy =玩具’在获取容器后,新的角度1.3.0有所不同? $http({method: 'GET',url:'/toys/'+$stateParams.id}).success(function(toy,status,headers,config) { $scope.original = angular.copy(toy); //$scope.toy = toy; // WORKED in AngularJS 1.2.26 but not 1.3.0 $http({method: 'GET',url:'/containers'}).success(function(containers,config) { $scope.toy = toy; // moved from where previously commented; NOW works with AngularJS 1.3.0 $scope.containers = containers; }).error(errorMessage.onError); }).error(errorMessage.onError);
我想你需要等待服务器的响应,然后渲染DOM,看看:
<div ng-if='toy'> <select class="form-control" ng-model="toy.toy_container_name" ng-options="c.container_name as c.container_name for c in containers" required> <option value="">- Pick Container -</option> </select> </div> (不是玩具,不渲染) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |