Angular router: дочерний маршрут может быть вызван без родительского URL - PullRequest
0 голосов
/ 27 января 2020

У меня есть один такой роутер:

const firstRoutes: Routes = [
  {
    path: '',
    children: [
      {
        path: 'parent-url',
        children: secondRoutes
      }
    ]
  }
];

И второй такой:

export const secondRoutes: Routes = [
  {
    path: '',
    children: [
      {
        path: '',
        redirectTo: 'child-route',
        pathMatch: 'full'
      },
      {
        path: 'child-route',
        component: ChildComponent
      }
    ]
  }
];

Мой ChildComponent может быть вызван с / child-route или / parent-url / child-route. Я хочу отключить вызов моей функции с обоими маршрутами, поэтому установить возможность вызывать ее только с /parent-url/child-route.

Я не знаю, как проверить, есть ли / parent-url и если здесь нельзя отключить вызов ChildComponent без этого / parent-url. в целом URL?

1 Ответ

0 голосов
/ 27 января 2020

Я только что создал новый проект с angular -cli и сгенерировал childComponent.

Моя маршрутизация работает отлично, вот мой app-routig.module.ts

import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { ChildComponent } from './child/child.component';

const secondRoutes: Routes = [
  {
    path: '',
    children: [
      {
        path: '',
        redirectTo: 'child-route',
        pathMatch: 'full'
      },
      {
        path: 'child-route',
        component: ChildComponent
      }
    ]
  }
];

const routes: Routes = [
  {
    path: '',
    children: [
      {
        path: 'parent-url',
        children: secondRoutes
      }
    ]
  }
];


@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule {
}
...