我有一个像这样的 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/