Разработчик должен иметь возможность писать простые переадресации с помощью $urlRouterProvider.when
для вызова другого состояния с теми же ожидаемыми URL-параметрами:
$urlRouterProvider.when('/hook/route', '/that/other/route');
Это должно обеспечить правильные $sateParams
необходимые для целевого состояния. Например, если вызывается URI /hook/route?token=X
, целевое состояние должно иметь $stateParams.token === 'X'
- если этот параметр настроен в $stateProvider
({... url: '/that/other/route? токен'...});
Обычный способ [в Stackoverflow-land] выглядит следующим образом:
$urlRouterProvider
.when('/hook/route', redirect)
.otherwise('/');
function redirect($state, $stateParams) {
$state.go('app.otherState', { token: $stateParams.token });
}
Это кажется очень излишним для простого действия с перенаправлением с параметрами - особенно если требуется много перенаправлений.
Ответ, который я приведу ниже, показывает подход с очень низким доходом, который, к сожалению, не был замечен в других потоках StackOverflow относительно этого вопроса...
Сопоставьте свои параметры URI с ожидаемыми целевым состоянием:
$urlRouterProvider
.when('/hook/route?token', '/route?token')
.otherwise('/');
Ура!