javascript - 如何在 AngularJS 和 Restangular 中的页面显示之前加载数据?

标签 javascript angularjs restangular

我一直在使用 AngularJs 和 Restangular 以及 PHP 后端。 我正在调用一个基于路由(详细信息/列表)的函数来从 Restangular 获取变量。

问题是,如果数据库连接有延迟,页面将显示为空白,几(2-3)秒后数据将被填充并显示,

导航到详细信息并返回列表页面时,问题会重复出现。

最佳答案

以下是如何在页面呈现之前解析数据的示例(无空白屏幕):

在渲染 View 之前调用“resolve”函数。

$routeProvider.when('/admin/task/:id' , {
    templateUrl: '/app/task/admin-task-results.tpl.html',
    controller:'AdminTaskDetailsCtrl',
    resolve: {
        task: function($route, Restangular) {
            return Restangular.one('tasks', $route.current.params.id).get();
        }

    }
});

只需将解析的对象(本例中的任务)作为参数传递到 Controller 中即可:

module.controller('AdminTaskDetailsCtrl', function ($scope, task) { ... });

但是,让我指出,这种方法并不总是最好的解决方案,因为用户在更改路线后不会立即得到反馈。考虑将数据加载到 Controller 中并显示微调器,直到数据到达。

关于javascript - 如何在 AngularJS 和 Restangular 中的页面显示之前加载数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21747947/

相关文章:

javascript - AngularJS异步请求方法服务使用promise返回数据

javascript - AngularJS 仅在提交后验证 ng-invalid 类

mysql - 关于在 SPA Angular 中使用 UML 的几个问题

javascript - 使用 AngularJS/NodeJS 将 PEM 证书添加到 Http 请求

javascript - Canvas 上的 document.getElementById 返回 null

javascript - JSONArray JSP Ajax Jquery

javascript - 递归地重新创建嵌套对象数组

javascript - JQuery:从提交的模式对话框中获取值

javascript - html5 视频 - 使用动态加载视频的进度事件

AngularJS (Restangular) : Making a promise block? 需要使用它来验证 token