AngularJS模型逻辑

AngularJS模型逻辑,angularjs,angularjs-service,Angularjs,Angularjs Service,我想要一些关于如何最好地在我的模型中包含逻辑的建议。下面是我的模型的简化版本。在http调用运行之前,我有一些应该包含在启动/暂停/完成任务中的逻辑,但我不确定应该包含在哪里。我看到一篇关于使用prototype来扩展我的模型的帖子,但在$resource中似乎不起作用。这似乎是一个非常普遍的需求,但我找不到任何提供良好解释的帖子 angular.module('myModels', ['ngResource']) .factory('Tasks', function($resource){

我想要一些关于如何最好地在我的模型中包含逻辑的建议。下面是我的模型的简化版本。在http调用运行之前,我有一些应该包含在启动/暂停/完成任务中的逻辑,但我不确定应该包含在哪里。我看到一篇关于使用prototype来扩展我的模型的帖子,但在$resource中似乎不起作用。这似乎是一个非常普遍的需求,但我找不到任何提供良好解释的帖子

angular.module('myModels', ['ngResource'])

.factory('Tasks', function($resource){

    return $resource(':url', {},
        {
        'query':        {
            method: 'GET',
            isArray:true,
            url: '/tasks/:id.json'
        },
        'startTask':        {
            method: 'GET',
            url: '/tasks/task_start/:id.json'
        },
        'pauseTask':        {
            method: 'GET',
            url: '/tasks/task_pause/:id.json'
        },
        'completeTask':     {
            method: 'GET',
            url: '/tasks/task_complete/:id.json'
        }
    });
})

如果每次在http请求之前和/或之后都需要运行某些任务,则可以使用 $httpProvider拦截器


如果您每次在http请求之前和/或之后都需要运行某些任务,那么这里有一个示例文档

$httpProvider拦截器


下面是示例文档

似乎$httpProvider拦截器将处理所有http请求。这是正确的吗?我要寻找的是如何最好地向使用$resource(或$http)的特定工厂添加代码。例如,对于上面显示的任务,我希望在获取任务时将任务状态代码转换为word,并将其包含在任务对象中。我想到的一种方法是将现有代码用作低级函数,然后在其上添加一个表示模型函数的级别。这类似于从服务器上的数据库调用中抽象模型的方式。想法?看来$httpProvider拦截器将对所有http请求起作用。这是正确的吗?我要寻找的是如何最好地向使用$resource(或$http)的特定工厂添加代码。例如,对于上面显示的任务,我希望在获取任务时将任务状态代码转换为word,并将其包含在任务对象中。我想到的一种方法是将现有代码用作低级函数,然后在其上添加一个表示模型函数的级别。这类似于从服务器上的数据库调用中抽象模型的方式。思想?