#javascript #angularjs #angularjs-resource
#javascript #angularjs #angularjs-ресурс
Вопрос:
У меня есть функция, подобная этой:
module.exports.getMyItems = ['$rootScope', '$resource', function getMyItems($rootScope, $resource) {
return $resource('/myEndpoint/:id',
{id : '@id'},
{
query: {
method: 'GET',
isArray: true
}
});
}];
Я хочу создать событие, подобное
$rootScope.$emit('ITEMS_LOADING');
как я могу добавить обратный вызов для отправки этого события при загрузке ресурса?
Ответ №1:
как я могу добавить обратный вызов для отправки этого события при загрузке ресурса?
Можно добавить перехватчик ответа:
module.exports.getMyItems = ['$rootScope', '$resource', function getMyItems($rootScope, $resource) {
return $resource('/myEndpoint/:id',
{id : '@id'},
{
query: {
method: 'GET',
isArray: true
},
interceptor: {
response: function(response) {
// Get the instance from the response object
var instance = response.resource;
//emit message
$rootScope.$emit('ITEMS_LOADED');
// Return the instance
return instance;
}
}
});
}];
Для получения дополнительной информации см.