Javascript 具有表间关系的AngularJS资源
这在AngularJS资源中是可能的吗 /api/client/:id/jobs(从此客户端获取所有作业) /api/client/:id/job/:jobId(从此客户端获取作业) 我的工厂: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/', {
.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的人,这里有一个关于复杂状态(如我的视图和嵌套视图)的极好答案: