从$ http执行GET调用后无法更新$ scope

时间:2016-06-30 14:07:25

标签: javascript angularjs cordova visual-studio-cordova

我正在使用visual studio开发Cordova-Hyrbrid应用程序。 对于选择控件,我使用的是名为ionic-model-select(http://inmagik.github.io/ionic-modal-select)的插件。

select的值应该来自webapi调用。如果我调试,我可以看到$ scope.language正在填充,但是,select显示空白窗口。

我在调用之后尝试了$ scope。$ apply()和$ scope。$ digest(),但它不起作用。知道为什么我没有在选择控件中获取值吗?

angularjs代码:

        $http.get(sharedProperties.getURLOfLanguagesWebAPI()).then(function (data) {

        allData = sharedProperties.convertXml2JSon(data.data);

        for (var i = 0; i < allData.OVRLookupData.Languages.length; i++) {
            $scope.languages.push({ "id": parseInt(allData.Languages[i].LanguageCode), "name": allData.Languages[i].Language });
        }
        $scope.$apply();
        $scope.loadingLangues = false;

    }, function (data) {
        console.log(data);
    });

HTML就像:

            <div ng-show="!loadingLangues" ng-class="{'has-error':errLan}">
            <label name="Language" class="item item-selectbox">
                <span class="input-label" style="float:left">Select Language</span>
                <button class="button button-dark button-outline icon-right ion-arrow-down-b"
                        modal-select ng-model="selectedValue"
                        options="languages"
                        on-select="languageChange(newValue)"
                        modal-title="Select Language">
                    {{ selectedValue.name || &apos;Select Language&apos;}}
                    <div class="option">{{option.name}}</div>
                </button>
            </label>
            <label ng-if="errLan" class="item">
                <span class="form-error item-text-wrap">Please select language.</span>
            </label>
         </div>

1 个答案:

答案 0 :(得分:2)

bugfixed yesterday

由于bower软件包和npm软件包都没有更新,如果你想使用该功能,你需要从GitHub获取源代码。