【问题标题】:AngularJS Resource with relation between tablesAngularJS资源与表之间的关系
【发布时间】:2014-10-16 21:32:50
【问题描述】:

AngularJS 资源可以做到这一点吗?

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

/api/client/:id/job/:jobId(从这个客户端获取job)

我的工厂:

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

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

        return Client;
    }
]);

谢谢!

【问题讨论】:

    标签: javascript database angularjs angularjs-resource


    【解决方案1】:

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

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

    .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

    【讨论】:

      猜你喜欢
      • 2014-01-03
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2013-12-26
      • 2019-12-17
      • 2023-02-22
      • 2019-01-24
      • 1970-01-01
      相关资源
      最近更新 更多