Угловой — динамический маршрут сразу после домена, например example.com/:id ?

#angular

#angular

Вопрос:

Я хочу получить идентификатор пользователя сразу после домена, например example.com/user1 (example.com/:id ) а не что-то вроде example.com/user/user1 (example.com/user/:id ). Как это возможно? Ниже приведен мой модуль маршрутизации. Я хочу удалить все эти пути к страницам и вместо этого поместить туда просто:id. Так что это динамически. Страница означает просто «Пользователь» в нашем коде.

Я был бы очень рад самому простому решению.

С уважением, Томас

 const routes: Routes = [
  { path: 'homepage', component: HomepageComponent },
  { path: 'register', component: RegisterComponent },
  {
    path: '', component: MainComponent, children:
      [
        { path: 'search', component: SearchComponent },
        { path: 'menu', component: MenuComponent },
        {
          path: 'page',
          component: TabsComponent,
          children: [
            { path: 'photos', component: PhotoListComponent },
            { path: 'videos', component: VideoListComponent }
          ]
        },
        { path: 'page/photos/:id', component: PhotoDetailComponent },
        { path: 'page/videos/:id', component: VideoDetailComponent },
      ]
  },
  { path: 'page/add/photo', component: PhotoAddComponent},
  { path: 'page/add/video', component: VideoAddComponent}
];
  

Ответ №1:

Вот рабочая демонстрация для динамических маршрутов, начинающихся сразу после имени домена и без каких-либо префиксных маршрутов:

https://stackblitz.com/edit/angular-dynamic-route-test

Комментарии:

1. Спасибо за ваше быстрое решение, но сервер разработки ничего не показывает. Это правильно?

2. Не могли бы вы, пожалуйста, подробнее рассказать?

3. Если я нажму на ваш пример Stackblitz, сервер разработки запустится, но ничего не покажет. Тем не менее, я думаю, что это не важно для вашего решения. Итак, спасибо за вашу помощь :).

4. Не могли бы вы проголосовать за и принять ответ, если это решит вашу проблему?