繁体   English   中英

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

[英]Cannot navigate to route when default route has a parameter in Angular

我有以下路线:

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
      }
    ]
  }
];

所有路由都工作正常,但我无法使用routerLink导航到about-me页面, routerLink所示:

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

如果我删除默认参数:pageNumber则导航有效,否则about-me链接:pageNumber我带到默认路线。

我怎样才能让about-me路线工作? 我宁愿不使用router.navigate(...说实话。

你必须像这样改变你的路线

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM