Dropdown1启动的REST调用中的Dropdown2数据不会加载到Angular JS中

时间:2016-03-01 19:34:49

标签: angularjs angularjs-scope

我有2个下拉菜单!第一个具有静态数据,其具有调用服务方法的ng-change指令。此方法调用REST API,获取数据将其传递给控制器​​,在控制器中,它将某个数组的值设置为响应范围内的变量。(如$ scope.secondDropDownData = valueFromJSON)。

我使用secondDropDownData加载第二个下拉数据。在日志中,我看到数据是从REST调用接收的,但它没有在下拉列表中加载。

以下是我正在使用的代码:

<div ng-app="appName" ng-init="loading=true; angularLoaded=true">

<div class="container" ng-controller="controller1">

<div class="row" id="exSelects">
    <div class="col-sm-6">
        <h4>Dropdown1</h4>
        <select id="x" ng-model="modelVal" ng-change="getSecondDropDown(inputVal)"  class="form-control">
            <option ng-repeat="x in xyz">{{x}}</option>
        </select>
    </div>
    <!--/col-->

    <div class="row" id="exSelects">
        <div class="col-sm-6">
            <h4>Dropdown2</h4>
            <select ng-model="dropdwn2" class="form-control">
               <option ng-repeat="a in abc" value="{{a.id}}">{{a.name}}</option>
            </select>
        </div>
    </div>
    <!--/row-->
</div>

1 个答案:

答案 0 :(得分:0)

解决了这个问题。之所以发生这种情况,是因为我使用了rootcope作为调用REST服务并获取数据的控制器方法,但是使用了范围来设置值。

现在我使用相同的范围来声明控制器方法,并在第二个下拉列表中设置我正在使用的变量。