代码之家  ›  专栏  ›  技术社区  ›  ViqMontana

当默认路由中有参数时,无法导航到路由

  •  0
  • ViqMontana  · 技术社区  · 5 年前

    我有以下路线:

    const routes: Routes = [
      {
        path: '',
        component: BlogLayoutComponent,
        children: [
          {
            path: ':pageNumber',
            component: HomeComponent
          },
          {
            path: '',
            component: HomeComponent
          },
          {
            path: 'article/:id',
            component: ArticleComponent
          },
          {
            path: 'articles-by-hashtag/:id',
            component: ArticlesByHashComponent
          },
          {
            path: 'articles-by-category/:id',
            component: ArticlesByCatComponent
          },
          {
            path: 'about-me',
            component: AboutMeComponent
          }
        ]
      }
    ];
    

    about-me 页面使用 routerLink 像这样:

    <li><a [routerLink]="[ 'about-me' ]">ABOUT ME</a></li>
    

    如果我删除默认参数 :pageNumber 然后导航工作,否则 关于我

    关于我 路线作业?我宁愿不用 router.navigate(... 说实话。

    0 回复  |  直到 5 年前
        1
  •  1
  •   Tony Ngo    5 年前

    你必须这样改变你的路线

    <li><a [routerLink]="['/about-me']">ABOUT ME</a></li>
    

    然后在pageNumber参数之前添加一些路由。我不确定你对HomeComponent的路由防御是否正确

    {
       path: 'something/:pageNumber',
       component: HomeComponent
    },