@KOPC1886

Как настроить роутер?

Всем привет!

Есть такой роутер

servicesCatalog.config(function ($routeProvider, $compileProvider) {
        $routeProvider.
            when('/catalog/:categoryId', {
                templateUrl: 'views/catalog.html',
                controller: 'Catalog'
            }).
            when('/favorites', {
                templateUrl: 'views/favorites.html',
                controller: 'Favorites'
            }).
            when('/applications', {
                templateUrl: 'views/applications.html',
                controller: 'Applications'
            }).
            when('/catalog/:categoryId/:serviceId', {
                templateUrl: 'views/service-detail.html',
                controller: 'Service-Detail'
            }).
            otherwise({
                redirectTo: '/catalog/:categoryId'
            });

            //$compileProvider.urlSanitizationWhitelist(/^\s*(https?|mailto|file|tel|skype):/);
});


По умолчанию при загрузке страницы /catalog/:categoryId categoryId не приходит..как сделать, чтобы по умолчанию ставился id какого то элемента ?
  • Вопрос задан
  • 2173 просмотра
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
А что сделать-то хотите?
Вы написали "Если ни один из вышеперечисленных роутов не подошел, то отправить на страницу /catalog/:categoryId".
Смысла в этом я никакого не вижу.
Напишите redirectTo: '/catalog/1', отработает первый роут с categoryId 1, а если вам нужно на этапе конфигурирования приложения вместо этого 1 подставить что-то, что передается с сервера, то можете на этапе вывода шаблона записать в него JS типа
angular.module('server-values',[]).constant('INITIAL_CATEGORY_ID', Сюда_ID);

Подключить этот модуль в ваше приложение и тогда сможете сделать
servicesCatalog.config(function ($routeProvider, $compileProvider, INITIAL_CATEGORY_ID) {
//....
            otherwise({
                redirectTo: '/catalog/'+INITIAL_CATEGORY_ID
            });
});

но это отдает ортопедией
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы