Изменить параметр запроса в URL с помощью UI-маршрутизатора

0

Используя ui-router, как я могу выполнить следующее изменение URL? Например, когда пользователь переходит на "/page? Hello = True", я хочу, чтобы URL-адрес изменился на "/page? Status = hello".

$stateProvider.state('page', {
   url: '/page/:id?status',
   controller: 'MyCtrl as myCtrl',
   templateProvider: function($templateCache) {
     return $templateCache.get('templates/route.html');
   }
 });
  • 0
    можно использовать событие stateChangeStart в ui-router для изменения параметров URL.
Теги:
angular-ui-router

1 ответ

1
Лучший ответ

Вы можете использовать событие stateChangeStart в методе stateChangeStart чтобы прослушивать изменения состояния в этом маршруте и изменять все, что вы хотите, в параметрах. Что-то вроде этого, возможно, потребуется сыграть с toState и toParams чтобы все было правильно для вас...

.run(['$state', '$rootScope', function($state, $rootScope) {
    $rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams) {

        if (toState.name === 'invitation') {
            //change toParams to whatever you want 
        }
    });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню