当ng选项引用不同模型与选择模型时,AngularJS 1.3.0不再显示默认选择

我的表单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>

(不是玩具,不渲染)

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...