Я действительно смущен маршрутизатором Angular 7.Я хочу использовать параметр get "token" из любого места в URL.
Я использую следующий код для определения нескольких маршрутов.
const myRoutes: Routes = [
{ path: 'register/:token', component: RegisterComponent },
// { path: 'register?token=:token', component: RegisterComponent },
// { path: 'register:token', component: RegisterComponent },
{ path: 'register', component: RegisterComponent },
// ...
]
С первым определенным путем я могуиспользовать «register / mytoken » и «register /? token = mytoken » для получения токена.
// Token from register/123
this.token = this.route.snapshot.paramMap.get('token')
// Token from register/?token=123
this.route.queryParams.subscribe(params => {
if (params.token != null)
this.token = params.token;
});
Каждый раз, когда я пытаюсь предоставить свой токеннепосредственно как get-параметр при вызове веб-сайта в моем браузере («register? token = mytoken »), маршрутизатор перенаправит меня на «/ register», и я не могу получить токен с моим кодом выше,Но когда я использую «register /? Token = mytoken », я буду перенаправлен на «register? Token = mytoken » и могу использовать токен.
Как можноя предоставляю маршрут для доступа к странице с помощью «register? token = 123» и извлекаю токен?