2

应用程序运行正常,但上传子路由也可以在没有“/upload”的情况下访问。例如“/照片”、“/广告”。这不应该发生。我不知道为什么会这样。如果有人知道解决方案,请回复。

app.routing.ts

{ path: '',   redirectTo: '/dashboard', pathMatch: 'full'},
{path: '', loadChildren: 'app/campsite/campsite.module#CampsiteModule'},
{path: 'login', loadChildren: 'app/login/login.module#LoginModule'}

露营地.routing.ts

path: '', component: CampsiteComponent, children: [
{path: 'dashboard', component: HomeComponent, canActivate: [AuthGuard]},
{path: 'gallery', component: GalleryComponent, canActivate: [AuthGuard]},
{path: 'upload', loadChildren: './upload/upload.module#UploadModule', canActivate: [AuthGuard]}
]

上传.路由.ts

path: '', component: UploadComponent, children: [
{path: 'photo', component: PhotoComponent, canActivate: [AuthGuard]},
{path: 'advertisement', component: AdvertisementComponent, canActivate: [AuthGuard]},
{path: 'video', component: VideoComponent, canActivate: [AuthGuard]},
{path: 'logo', component: LogoComponent, canActivate: [AuthGuard]},
{ path: 'photo', pathMatch: 'full', redirectTo: 'photo' }
]

延迟组件上传也在 App 组件路由中加载

4

1 回答 1

0

这是一个错误:https ://github.com/Greentube/localize-router/issues/45 。:(

我有同样的问题。我认为一条好的前进道路 - 正如您将看到的那样,这不是最好的 - 在纠正之前不会延迟加载嵌套模块:

  1. 导入UploadModuleCampsiteModule
  2. 声明你所有的路线CampsiteModule

...这非常非常丑陋且难以维护。

上面那个链接中有一个关于翻译的注释,但我没有尝试过。(这似乎也是一个奇怪的黑客行为。)

作为参考,如果您查看 webpack 如何生成您的模块(来自等) ,ng serve您可能只会看到.campsite.module.chunk.jscampsite.module.chunk.jsupload.module.chunk.js

祝你好运!

于 2017-08-30T12:49:43.947 回答