Имею ввиду JS стек, создайте фабрику, которая обрабатывает два разных пути
Я использую среду MEAN JS и почти все, что было с ней. Тем не менее, я пытаюсь добавить пользовательский запрос, когда пользователь идет по определенному пути (URL). Это код, который поставляется с MEAN JS: (в модулях / статьях / клиенте / сервисах)
'use strict';
//Articles service used for communicating with the articles REST endpoints
angular.module('articles').factory('Articles', ['$resource',
function ($resource) {
return $resource('api/articles/:articleId', {
articleId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
]);
И это заботится обо всех функциях, определенных в контроллере, которые: create, update, find, findOne, remove
, Сейчас я пытаюсь добавить еще одну функцию, $scope.findByCategory = function (category) {...}
в контроллере. Но для того, чтобы он общался с сервером, мне нужно добавить путь к сервисам.
Как я могу это сделать? Как мне отредактировать мой сервис (или фабрику), чтобы он заботился обо всех функциях, которые я определяю в своем контроллере. (Я уже настроил маршруты на стороне сервера.) Другими словами, я хочу объединить приведенный выше код и приведенный ниже код в один фрагмент в моем клиентском сервисе. Примечание: меняется только путь.
//Articles service used for communicating with the articles REST endpoints
angular.module('articles').factory('Articles', ['$resource',
function ($resource) {
return $resource('api/articles/category', {
articleId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
]);
1 ответ
Есть несколько способов сделать это, вы можете сделать еще одну фабрику под названием Category
или вы можете использовать то же самое, возвращая объект следующим образом:
angular.module('articles').factory('Articles', ['$resource',
function($resource) {
return {
articles: $resource('api/articles/:articleId', {
articleId: '@_id'
}, {
update: {
method: 'PUT'
}
}),
categories: $resource('api/articles/:articleId/category', {
articleId: '@_id'
}, {
update: {
method: 'PUT'
}
})
};
};
]);
Вы будете вызывать их с контроллера, например, с Articles.articles.get()
а также Articles.categories.get()
И, вероятно, вы хотите изменить категорию маршрута на api/articles/:articleId/category
так что получить категории для articleId