Запретить прямой доступ к родительскому компоненту - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть эти маршруты в одном из моих модулей:

const routes: Routes = [
  { path: '', redirectTo: 'public/intro', pathMatch: 'full'},
  { path: 'public', component: PublicComponent, data: { preload: true, delay: true, state: 'public' },
  children:
  [
    { path: 'intro', component: IntroComponent, data: { preload: true, delay: true, state: 'intro' },  },
    { path: 'explorar', component: ExplorarComponent, data: { preload: true, delay: true, state: 'explorar' }, },
    { path: 'cadastro', component: CadastroComponent, data: { preload: true, delay: true, state: 'cadastro' }, },
    { path: 'entrar', component: EntrarComponent, data: { preload: true, delay: true, state: 'entrar' }, },
  ]},
];

Как запретить пользователю печатать, например:

localhost: 4200 / # / public

и доступ к родительскому компоненту(public) напрямую?

Я имею в виду, что я хотел бы разрешить только те маршруты для этой конкретной области:

localhost: 4200 / # / public / intro

localhost: 4200/ # / public / explorar

localhost: 4200 / # / public / cadastro

localhost: 4200 / # / public / entrar

Дело в том, что у меня есть маршрутизаторрозетка внутри PublicComponent.Я загружаю туда 4 детей. (Панель инструментов с кнопками маршрутов).

Спасибо.

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете достичь этого, используя безкомпонентные маршруты, как описано здесь .

В вашем случае вы получите что-то вроде:

const routes: Routes = [
  { path: '', redirectTo: 'public/intro', pathMatch: 'full'},
  { path: 'public', children: [
    { path: 'intro', component: IntroComponent },
    { path: 'explorar', component: ExplorarComponent },
    { path: 'cadastro', component: CadastroComponent },
    { path: 'entrar', component: EntrarComponent },
  ]}
];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...