0

第一次使用 angularjs,我的数据加载有点慢。基本上,当用户选择编辑任务时,我们正在访问 Web 服务以返回任务的数据。此外,页面上有 3 个下拉菜单,因此我们还需要访问服务以返回该数据。

页面显示,填写任务数据,然后一次填写一个下拉菜单数据。

在加载所有数据之前,如何等待显示模板?还是让数据同时加载?

这是获取数据的代码示例:

$scope.task = Task.get({ id: taskId }, function() {
        $scope.vendor.terms = Term.query('', function() {
            $scope.vendor.states = State.query();
        });
    });

以下是服务:

angular.module('App.Services', ['ngResource'])
.factory('Task', function($resource, baseUrl) {
    return $resource(baseUrl+'/tasks/:id', {'id': '@id'}, {
    });
})
.factory('Vendor', function($resource, baseUrl) {
    return $resource(baseUrl+'/vendors/:id', {'id': '@id'}, {
    });
})
.factory('Statue', function($resource, baseUrl) {
    return $resource(baseUrl+'/states/:id', {'id': '@id'}, {
    });
})
4

1 回答 1

1

你可以使用解析。它是您在 app.js 中在您想要的任何路由上设置的属性。基本上,它是在控制器实例化和加载视图之前必须解决的承诺列表。从 egghead.io 截屏链接查看此视频

于 2013-06-22T12:39:06.973 回答