首页 > 解决方案 > 按钮上的 RouterLink 不起作用,但在按钮上起作用

问题描述

在我的 app.module 中,我是延迟加载模块。

  {
    path: 'user-dashboard',
    loadChildren: () =>
      import('./features/user-dashboard/user-dashboard.module').then(
        (m) => m.UserDashboardModule
      ),
  }, {
    path: 'register',
    loadChildren: () =>
      import('./features/register/register.module').then(
        (m) => m.RegisterModule
      ),
  },

所以我的项目应用程序分为多个模块,如图所示。点击查看模块结构图

下面的代码在 checkout.html 里面,它是 register 模块中的一个页面。我想去用户仪表板路线

<button class="btn btn-primary form-btn payment-btn" [routerLink]="['/user-dashboard']">
     Confirm &amp; Pay
 </button>

在我的 user-dashboard-routing.module.ts 中,这是描述的路由

const routes: Routes = [
  {
    path: '',
    component: UserDashboardComponent,
  },
];

现在,当我单击此按钮时,它会转到所需的路线,但会返回相同的结帐页面。它不会停留在用户仪表板中。此外,如果我用 替换按钮<a>,它将起作用。

标签: angularangular2-routing

解决方案


对于按钮,您可以使用(click)="someMethod()"

someMethod()
{
    this.router.navigate([yourUrl])
}

推荐阅读