Wie die Umsetzung der laden-dialog, während sich mit $http-request

Ich bin derzeit am schreiben einer AngularJS webapp, indem er Teile von Angular-ui - insbesondere UI-Bootstrap

Ich würde gerne in der Lage, zum anzeigen einer loading-dialog, während die app bekommt Ihre Daten. Beim erstmaligen laden außerdem habe ich die Absicht, nicht zu zeigen, alles, was hinter dem dialog.

Habe ich versucht, die folgenden und es öffnet sich der dialog erfolgreich, aber es lässt sich nicht schließen, wenn die Daten geladen hat.

JS:

angular.module('MyApp', [ui.bootstrap])
.controller ('AppCtrl', function ($scope, $http, $dialog) {
    $scope.initalized = false;
    $scope.opts = {dialogFade:false};

    $scope.data = [];

    var loadDialog = $dialog.dialog($scope.opts);

    $scope.loadData = function() {
        loadDialog.open('template.html').then(function() {
            //When the dialog is closed show the page content
            $scope.initialized = true;
        });

        $http.get('my/url').then(function(result) {
            $scope.data = result.data;
            $scope.removeDialog();
        });
    };

    $scope.removeDialog = function() {
        loadDialog.close();
    };
});

HTML:

<html ng-app="MyApp">
    <head>...</head>
    <body>
        <div ng-show="initialized" ng-init="loadData() ng-controller="AppCtrl">
            ...
        </div>
    </body>
</html>

Vom Lesen von verschiedenen Seiten, ich glaube, ich soll zu setzen, die schließen-Funktion in einen Dialog-Controller, aber dann, wie soll ich es nennen?

Irgendwelche anderen Vorschläge, wie dies umzusetzen wird sehr geschätzt.

Dank Voraus!!

BEARBEITEN

Deutlicher machen, das Problem, das ich habe ist, dass die Funktion removeDialog() entfernt nicht der dialog vom Bildschirm.

InformationsquelleAutor Josh | 2013-08-01

Schreibe einen Kommentar