javascript - 避免将返回的数据保存到 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'},
    });
}]);

但是当我调用 myModel.$resume();myModel.$signUpload() 时,返回的数据会自动保存到我的模型中。但是,返回的数据不是我的模型属性,而是另一个完全不同的返回。

我需要避免自动保存从服务器返回的数据。有什么开箱即用的东西可以做到这一点吗?我在这里找不到它:https://docs.angularjs.org/api/ngResource/service/$resource

谢谢

最佳答案

对于这种情况,您可以尝试不使用资源,而是创建服务。

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

将此服务注入(inject)到 Controller 中,然后执行 eventService.signUpload(eventId);

关于javascript - 避免将返回的数据保存到 ngResource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25637550/

相关文章:

angularjs - 为什么我必须将 $promise 与 $resource 一起使用?

javascript - 从 JSON 文件解析 HTML 时 ngResource 不起作用

javascript - AngularJS UI 状态提供程序解析状态

javascript - 移动和桌面之间的响应式导航调整大小问题

javascript - 外部开发人员可以在运行时访问闭包变量吗?

javascript - ReactJS动态创建数据表

javascript - 如何以编程方式通过名称获取 Angular 服务

javascript - Angular 传递杂项符号

javascript - AngularJS:更新资源的正确方法是什么

javascript - 错误类型错误 : Cannot read property 'value' of undefined in Angular 8