为什么即使我们在 Angular 中没有子路由,ChildActivationStart 事件也会触发?

ank*_*usu 5 angular angular-router

我为 Angular 项目定义了一个路由器。我的路由器配置如下:

export const routes: Routes = [
  {
    path: '',
    component: AppComponent,
  },
  {
    path: 'hello',
    component: HelloComponent,
  },
];

export const routing: ModuleWithProviders = RouterModule.forRoot(routes, { enableTracing: true });
Run Code Online (Sandbox Code Playgroud)

当我运行该项目时,我看到路由器生命周期事件按以下顺序触发:

  1. 导航开始,
  2. 路由器认可,
  3. 警卫检查开始,
  4. 子激活开始,<-----
  5. 激活开始,
  6. 警卫检查端,
  7. 解决开始,
  8. 解决结束,
  9. 激活结束,
  10. 子激活结束,<-----
  11. 导航结束

在此列表中,我还看到了“儿童激活开始”和“儿童激活结束”事件。但是,我没有子路线。为什么这些事件无论如何都会触发?

要查看正在运行的路由器事件,请检查以下链接的控制台输出:

https://stackblitz.com/edit/angular-khjkwg?file=app%2Fapp.routing.ts

谢谢。