AngularJS资源与表之间的关系

时间:2014-10-10 17:51:13

标签: javascript database angularjs angularjs-resource

是否可以使用AngularJS Resource?

/ api / client /:id / jobs(从此客户端获取所有作业)

/ api / client /:id / job /:jobId(从此客户端获取作业)

我的工厂:

.factory('Client', ['$resource', 'Api',
    function ($resource, Api) {

        var Client = $resource(Api.url() + 'client/:id/',
            {
                id: '@id'
            },
            {
                'update'   : { method: 'PUT',  isArray: false }
            }
        );

        return Client;
    }
]);

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。

我必须创建另一家工厂来完成这项工作:

.factory('ClientJobs', ['$resource', 'Api',
    function ($resource, Api) {

        var ClientJobs = $resource(Api.url() + 'client/:clientId/job/:jobId',
            {
                clientId: '@Id',
                jobId: '@Id'
            },
            {
                'query':  { method: 'GET', isArray: true },
                'update': { method: 'PUT' }
            }
        );

        return ClientJobs;
    }
]);

而且,我可以像这样使用工厂:

ClientJobs.save({clientId:clientId, jobId:job.id}, job, function (result) {
            deferred.resolve(result);
        }, function (reason) {
            deferred.reject(reason);
        });

现在,一切正常。

为了帮助那些使用UI-ROUTER的人,有一个关于复杂状态(如我的和嵌套视图)的优秀答案的问题:

Nested Views with Nested States