【问题标题】:How to enable open link in new tab in click event in angular 12如何在角度 12 的点击事件中启用新选项卡中的打开链接
【发布时间】:2025-12-03 06:10:01
【问题描述】:

我的点击事件:

html:
 <div class="image"   (click)="onClickOperation(product);">
.......
</div>
TS:
onClickOperation(product: any): void {
    // debugger
    if (this.regularView) {
      if (this.details) {
        this.openLightbox(product);
      } else {
        this.router.navigate(['/product', product.productId]);
      }
    } else {
      this.router.navigate(['/store', product.shopId]);
      this.productsender.changeMessage(product);
    }
  }

它工作正常我想如何实现右键单击以在新选项卡选项中打开链接。我该怎么做呢

【问题讨论】:

标签: angular navigation router


【解决方案1】:

如果您的意思是希望能够通过右键菜单打开链接,那么您需要将routerLink 传递给a 标记。 有解决办法:How to enable "ctrl+click" with "routerLink" in Angular

还有一个例子:

<a routerLink="/user/bob">link to user component</a>

<a [routerLink]="['/user/jim']">Jim</a>

您需要“a”标签,因为在 HTML 中只有此标签具有通过 HTML 功能打开链接的属性。

有关如何使用 routerLink 的信息,您可以在 angular routerLink docs 中找到

在您的情况下,您可能应该使用 *ngIf 创建条件来显示具有正确 URL 的正确元素。

有一个如何制作的例子。 Conditionally add RouterLink or other attribute directives to an element in Angular 2

如果你想用你的函数替换上下文菜单,看看这个问题: How to handle right click event in Angular app?

【讨论】:

    最近更新 更多