Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 避免将返回的数据保存到ngResource_Javascript_Angularjs_Ngresource - Fatal编程技术网

Javascript 避免将返回的数据保存到ngResource

Javascript 避免将返回的数据保存到ngResource,javascript,angularjs,ngresource,Javascript,Angularjs,Ngresource,我有一个ngResource对象,如下所示: [...].factory('Event', ['$resource', function ($resource) { return $resource('/events/:id', {id: '@id'}, { resume: {url: '/events/:id/resume'}, signUpload: {url: '/events/:id/sign-upload'}, }); }]); 但是当

我有一个ngResource对象,如下所示:

[...].factory('Event', ['$resource', function ($resource) {
    return $resource('/events/:id', {id: '@id'}, {
        resume: {url: '/events/:id/resume'},
        signUpload: {url: '/events/:id/sign-upload'},
    });
}]);
但是当我调用
myModel.$resume()
myModel.$signUpload()
返回的数据会自动保存到myModel。但是,返回的数据不是我的模型属性,而是另一个完全不同的返回

我需要避免自动保存从服务器返回的数据。有什么现成的东西可以做那件事吗?我在这里找不到它:


感谢您在这种情况下,您可以尝试不使用资源,而是创建服务

app.service('eventService', ['$http, $q', function ($http, $q) {
    this.signUpload = function(eventId) {
       var defer = $q.defer();

       $http.get('/events/' + eventId + '/sign-upload')
         .then(function(result) {
             defer.resolve(result.data);
         })
         .catch(function(err) {
             defer.reject(new Error(err));
         });

       return defer.promise;

    }


    // same for other function
}]);

将此服务注入控制器,只需执行eventService.signUpload(eventId)

但是我想使用
ngService
。它提供了我需要的大部分功能。我仍然使用
$get
$save
[…]方法。如何防止默认行为是一个问题…您可以同时拥有ngResource和ngService,资源类型主要用于CRUD操作,您可以将eventService用于其他目的。。。在我们的项目中,我们只使用服务,因为它们对单元测试更友好。然后我可以继续使用
Event.$signUpload({id:myModel.id},cb)
。这是同样的事情。。。但是,我仍然必须指出,对于我拥有的每个模型,需要调用一个不返回self对象的api…如果您需要传递多个“事件”-s,在服务中,您可以传递多个Id,而不是一个Id,并将它们作为查询参数传递到后端…我希望将操作内置到ngResource中,这只是众多模型中的一种。ngResource在这方面做得非常好,但直到现在才失败