【问题标题】:Angular 8 - child routerLink doesn't workAngular 8 - 子路由器链接不起作用
【发布时间】:2021-02-05 08:49:28
【问题描述】:

我想从一个页面导航到另一个页面,从一个组件导航到另一个组件:

const routes: Routes = [
  {
    path: '',
    component: UploadPageComponent,
    children: [
      {
        path: 'frameworks',
        component: FrameworksSceneComponent,
        pathMatch: 'full',
        children: [
          {//doesn't work
            path: 'questionnaire',
            component: QuestionnaireComponent,
          },
        ],
      },
      {
        path: 'documents',
        component: DocumentsSceneComponent,
        pathMatch: 'full',
      },
      {//works
        path: 'questionnaire',
        component: QuestionnaireComponent,
        pathMatch: 'full',
      },
    ],
  },
];

@NgModule({
  imports: [RouterModule.forChild(routes)],
  exports: [RouterModule],
})
export class UploadRoutingModule {
}

我的模板(FrameworksSceneComponent):

 <a [routerLink]="['questionnaire']">aaaaaaaaaaaaaaaaaaaa</a>

但这有效(FrameworksSceneComponent):

<a [routerLink]="['/private/upload/questionnaire']">bbbbbbbbbbbbbbbbbbbbbbbbbbbbb</a>

我的嵌套链接有什么问题?为什么点击aaaaaaaaaaaaaaaaaa 后我被重定向到我的主页。另一方面,链接bbbbbbbbbbbbbbbb 有效,但在这种情况下,链接不是子链接。

【问题讨论】:

  • aaaaaaaaaaaaaaaaaaaa 你是在 /framwork 路由上调用这个吗?
  • 是的,我在 FrameworksSceneComponent 组件中调用 aaaaaaaaaaaaaaaa(在模板中)...我通过添加 FrameworksSceneComponent 作为要导航到 QuestionnaireComponent 的组件来编辑我的帖子

标签: angular routes angular-ui-router routerlink


【解决方案1】:

您实现嵌套路由的方式,在您的FrameworksSceneComponent.html 中寻找&lt;router-outlet&gt;。尝试如下实施。不知道为什么它导航到主页。

  routes: Routes = [
    {
      path: "",
      children: [
        {
          path: "",
          component: UploadPageComponent
        },
        {
          path: "frameworks",
          children: [
            {
              path: "",
              component: FrameworksSceneComponent,
              pathMatch: "full"
            },
            {
              //should  work
              path: "questionnaire",
              component: QuestionnaireComponent
            }
          ]
        },
        {
          path: "documents",
          component: DocumentsSceneComponent,
          pathMatch: "full"
        },
        {
          //works
          path: "questionnaire",
          component: QuestionnaireComponent,
          pathMatch: "full"
        }
      ]
    }
  ];

【讨论】:

  • 嗯,我有像上传这样的菜单结构 -> 然后是 2 个子选项卡/2 个子菜单:文档和框架。在框架下,我希望有额外的问卷页面,其中包含链接上传/框架/问卷
猜你喜欢
  • 2016-10-06
  • 2021-08-05
  • 2017-03-03
  • 2017-03-25
  • 2018-05-27
  • 1970-01-01
  • 2017-12-12
  • 2017-02-02
  • 1970-01-01
相关资源
最近更新 更多