簡體   English   中英

使用一個模塊對多個延遲加載的路由/路徑進行角度處理

[英]Angular multiple lazyloaded routes/paths using the one module

我正在嘗試配置幾個水平路由(即 - 非嵌套)並將它們放入一個延遲加載的模塊中。

問題是,我無法弄清楚如何在延遲加載功能模塊本身中匹配這些路由。

這是主路由模塊的樣子 -

      {
        path: 'search/:query',
        loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
      },
      {
        path: 'category/:category',
        loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
      },
      {
        path: 'tag/:tag',
        loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
      },

然后,在我的功能模塊中,我試圖根據路徑匹配這些路由,但它不起作用 -

      {
        path: 'search/:query',
        component: SearchComponent,
        resolver: SearchResolver,
      },
      {
        path: 'category/:category',
        component: CategoryComponent,
        resolver: CategoryResolver,
      },
      {
        path: 'tag/:tag',
        component: TagComponent,
        resolver: TagResolver,
      },

當我嘗試完全訪問重復的路由時,它確實有效,例如:

domain.com/category/:cat/category/:cat

所以我想唯一缺少的是在功能模塊中匹配父路由的方法,但我找不到任何東西。

代碼結構不干凈。 您正在制作一個使用三個路由路由到另一個模塊的模塊。 為什么不從父模塊中刪除路由,而只是在功能模塊中創建它們。 父模塊:

{
    path: '/',
    loadChildren: () => import('src/pages/archives.module').then(m => m.ArchivesModule),
  }
  

功能模塊:

{
    path: 'search/:query',
    component: SearchComponent,
    resolver: SearchResolver,
  },
  {
    path: 'category/:category',
    component: CategoryComponent,
    resolver: CategoryResolver,
  },
  {
    path: 'tag/:tag',
    component: TagComponent,
    resolver: TagResolver,
  },

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM