使用angularjs在编辑页面上加载数据的正确方法是什么?

What is the correct way to load data on an edit page using angularjs?

本文关键字:方法 是什么 数据 angularjs 编辑页面 加载 使用      更新时间:2023-09-26

第一次使用angularjs,我的数据加载有点慢。基本上,当用户选择编辑Task时,我们正在访问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'}, {
    });
})

可以使用解析。它是一个属性,你可以在app.js中的任何路由上设置基本上,它是一个必须在控制器实例化和视图加载之前解析的承诺列表。看看这个来自egghead的视频。IO截屏link