Javascript 具有表间关系的AngularJS资源

Javascript 具有表间关系的AngularJS资源,javascript,database,angularjs,angularjs-resource,Javascript,Database,Angularjs,Angularjs Resource,这在AngularJS资源中是可能的吗 /api/client/:id/jobs(从此客户端获取所有作业) /api/client/:id/job/:jobId(从此客户端获取作业) 我的工厂: .factory('Client', ['$resource', 'Api', function ($resource, Api) { var Client = $resource(Api.url() + 'client/:id/', {

这在AngularJS资源中是可能的吗

/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;
    }
]);

谢谢

我找到了解决问题的办法

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

.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的人,这里有一个关于复杂状态(如我的视图和嵌套视图)的极好答案: