angular - 通过函数调用使用 routerLink

标签 angular

我正在尝试将 routerLink 与以下函数一起使用:

<a class="nav-link" [routerLink]="callHome(data)">Home </a>

callHome(data){
   //perform some operations
   this.router.navigate(["/home"]);
}

这里的问题是,每当我刷新页面时,甚至无需单击Home,它就会自动导航到/home

我尝试的另一种选择是:

<a class="nav-link" [routerLink]="['/home']">Home </a>

在这里,虽然它可以工作,但我无法在导航之前进行操作。

我无法使用按钮并使用(点击),因为我也希望将其作为链接。如果我使用按钮,链接就会消失。

如何将 [routerLink] 与函数调用一起使用?

最佳答案

您应该能够在链接元素上放置一个(click) 处理程序。

<a class="nav-link" [routerLink]="['/home']" (click)="doSomeLogic()">Home</a>

它应该在使用路由器链接导航之前执行(点击)处理程序。

关于angular - 通过函数调用使用 routerLink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52878716/

相关文章:

javascript - 订阅 BehaviorSubject 时,如何避免在可观察对象中执行两次 promise ?

angular - 错误 "System is not defined(…)"国际化 (I18N),angular-cli

node.js - 快速启动 Angular 应用程序

validation - 在 Angular 2 中,如何在使用模板驱动表单时设置异步验证器?

angular - Ionic 3 Firebase 电话身份验证不起作用

javascript - 关于connection.end()在node.js mySQL模块中如何工作的困惑

css - 来自输入的 Angular 2 组件样式

google-chrome - 没有链接的 Typescript blob 文件名

javascript - Angular 2 验证和复选框 'required' 属性在 Firefox 上不起作用

angular - 使用 Angular 8 使用 Formbuilder Typescript 在 View 中切换 FormControl