Я ищу определение маршрута, которое должно соответствовать любому запросу, например ?p=%20some%random%20query
. Мое текущее определение для маршрутов:
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'blog', component: BlogComponent },
{ path: 'blog/:title', component: BlogComponent },
{ path: '**', pathMatch: 'full', component: HomeComponent },];
Моя идея состояла в том, чтобы получить параметр запроса p
с { path: '**', pathMatch: 'full', component: HomeComponent }
и
ngOnInit() {
let id = this.route.snapshot.paramMap.get('p');
}
. Но похоже, что angular поддерживает только запросы со структурой /: a /: b. Например, запрос http://localhost:4200? P = yoyoyo будет преобразован в http://localhost:4200/yoyoyo. Тот же результат для http://localhost:4200/?p=/blog/Add%20Token
, который будет преобразован в http://localhost:4200/blog/Add%20Token
. Из-за этого я не могу получить значение параметра запроса p
. Как я могу создать маршрут, который будет работать для p=%
и как я могу получить значение p
?
Может ли это быть достигнуто путем перехвата процесса маршрута?