Angular 5 +可选参数路由AND loadChildren无法正常工作?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (506)

我不知所措,我摔倒了,我到处都是,每个人都在展示我正在展示的第一个解决方案的例子......但是

当我去/abc然后/abc/working用此配置,工作页面加载子模块。但是,当我走的时候/abc/abc/1它重新加载页面,这是不是很大和问题。

@RouteConfig([{
  path: '/abc',
  component: Abc,
  name: 'abc',
      children: [
         path: 'working',
         loadChildren: '',//someModule
         date: {preload: true}
      ]
      },
  {
  path: '/abc/:xyz',
  component: Abc,
  name: 'abcXyz'
}])

但是,当我尝试以下操作时:(执行相同的步骤)notWorking显示在url中 - 但子模块从不加载。

@RouteConfig([
{
  path: '/abc/:xyz',
  component: Abc,
  name: 'abcXyz',
  children: [
     path: 'notWorking',
     loadChildren: '',//someModule
     date: {preload: true}
  ]
}])

我的理想解决方案是使用可选参数的路径,可以是未定义的,在使用可选参数移动到路径或从路径移动时不重新加载页面,并且懒惰地加载我的子模块。

提问于
用户回答回答于

两件事情:

1)angular.io的最佳实践规定将延迟加载的组件路由集中到.routing.module中,而不是使用@RouteConfig装饰器。它应该帮助您和其他任何人更快地了解正在发生的事情。

2)路由声明对您放置它们的顺序很敏感,因此如果您遇到问题,请仔细检查所有声明是否可访问总是好的。

如果您使用StackBlitz提供项目的简单模型,我可能能够更好地帮助您。

扫码关注云+社区

领取腾讯云代金券