Я могу успешно использовать динамические маршруты. Мне также хотелось бы НЕ отделить функциональность CRUD в моих разных контроллерах (т. Е. Сохранить CRUD в одном контроллере на объект).AngularJs - Динамические маршруты с Crud в 1 контроллере
За этот вопрос, я изменил мои маршруты Using same controller for all CRUD operations (Rails-alike) путем добавления решительность по рекомендации Стьюи в:
Я понял это, но ТАК не позволит мне опубликовать решение ниже так что вот оно:
1. Маршруты
angular.module ('anuRoutes', [])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/', { templateUrl: '/App_Angular/partials/Common/Welcome.html' });
$routeProvider.when('/:name', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'list'
});
$routeProvider.when('/:name/:id', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'show'
});
$routeProvider.when('/:name/new', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'new'
});
$routeProvider.when('/:name/:id/edit', {
templateUrl: '/App_Angular/partials/Common/Welcome.html',
controller: PagesCtrl,
action: 'edit'
});
$routeProvider.otherwise({ redirectTo: '/App_Angular/partials/Common/Welcome.html' });
}]);
2. Страницы контроллера:
функция PagesCtrl ($ сфера, $ HTTP, $ маршрут, $ routeParams, $ compile, anuCache) {
var pageName = ($routeParams.name).replace("_", "/");
console.log('name:' + pageName);
$route.current.templateUrl = '/App_Angular/partials/' + pageName + ".html";
});
3. Пассажир Контроллер:
angular.module ('anuPassengerVehicles', [])
.контроллер ('PassengerVehiclesCtrl', функция ($ сфера, $ таймаут, PassVehSvc, $ маршрут) {
$scope.ControllerName = "PassengerVehiclesCtrl";
$scope.PassVehs = [];
var crudAction = $route.current.action;
if(crudAction === 'list'){
PassVehSvc.GetPassVehs().
then(function(config, data, headers, status) {
$scope.PassVehs = arguments[0].data;
// console.log(arguments[0].data);
}
if(crudAction === 'edit'){
.....
}
if(crudAction === 'new'){
.....
}
if(crudAction === 'show'){
.....
}
});