Я хотел бы получить совет о том, как лучше всего включить логику в мою модель. Ниже приведена упрощенная версия моей модели. У меня есть некоторая логика, которая должна быть включена в задачу start/pause/complete перед запуском HTTP-вызова, но я не уверен, где ее включить. Я видел сообщение об использовании прототипа для расширения моей модели, но это не похоже на работу с ресурсом $. Похоже, это было бы очень распространенной потребностью, но я не мог найти никаких сообщений, которые бы послужили хорошим объяснением.AngularJS Model Logic
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'
}
});
})
Оказывается, что $ httpProvider перехватчики будут действовать на все http-запросы. Это верно? Я ищу, как лучше всего добавить код на конкретный завод, который использует $ resource (или $ http). Например, с приведенными выше задачами я хотел бы преобразовать код состояния задачи в слово при получении заданий и включить его в объекты задачи. Один из методов, который пришел на ум, заключался в том, чтобы использовать мой существующий код в качестве функций низкого уровня, а затем добавить над ним уровень, который будет представлять мои функции модели. Это будет похоже на то, как вы абстрагируете свою модель от вызовов базы данных на сервере. Мысли? – Darryl