Я реализую свой первый контроллер AngularJS в тестовом приложении, и у меня возникают некоторые трудности.AngularJs: сомнения в реализации контроллера
У меня есть список элементов, которые я получаю от веб-службы RESTful, и я пытаюсь реализовать базовую логику CRUD для этих элементов.
Список показан на itemsList.htm
странице и конфигурации маршрутизации является:
app.config(function ($routeProvider) {
$routeProvider
.when('/items',
{
controller: 'ItemsController',
templateUrl: 'app/Partials/itemsList.htm'
})
.when('/items/:itemID',
{
controller: 'ItemsController',
templateUrl: 'app/Partials/editItem.htm'
})
.otherwise({ redirectTo: '/items' });
});
Тогда у меня есть мой ItemsController
:
app.controller('ItemsController', function ($scope, $routeParams, $location, itemsService) {
$scope.status;
$scope.items;
getItems();
function getItems() {
itemsService.getItems()
.success(function (items) {
$scope.items = items;
})
.error(function (error) {
$scope.status = 'Unable to load items: ' + error.message;
});
}
function getItem(ID) {
// ...
}
}
Теперь я хочу добавить к тому же контроллеру функцию, возвращает определенный элемент, передающий свой идентификатор, и заполняет страницу editItem.htm
, но я не знаю, чтобы получить доступ к этому функционалу ...
Я имею в виду: как я могу сопоставить путь /items/:itemID
к этой функции? Должен ли я реализовать его в другом контроллере и изменить конфигурацию маршрута?
УКАЗАНИЕ Обычно я реализую свои веб-приложения с использованием Java и Spring MVC, и обычно я использую один контроллер для каждого объекта в своем приложении (например: ItemsController, CustomersController и т. Д.). Правильно ли следовать этому правилу также с AngularJs или есть какая-то другая лучшая практика?
вид $ scope. $ On ('$ routeChangeSuccess', function (scope, next, current) { var path = $ location.path(); }); – Whisher