右键单击在新选项卡中打开在带有div标签的routerlink上不可用

时间:2019-06-17 08:28:28

标签: html angular router routerlink

我有一个div元素或tr元素,上面有一个路由器链接。

由于它不是a标记,因此无法单击右键和“在新标签页中打开”或strg +单击以在新标签页中打开。

但是我想实现此功能,因此,如果用户要在新选项卡中打开链接,则可以按照说明进行操作。我无法将tr更改为标签。

是否可以在没有a标记的情况下“在新标签页中打开”此功能?

2 个答案:

答案 0 :(得分:1)

否,只有链接具有href属性。

从那里开始,有两个选择:

  • 动态创建链接
  • 将链接添加为元素的直接子元素

动态创建链接:

<tr (click)="inNewTab()">
inNewTab() {
  const link = document.createElement('a');
  link.href = '';
  link.target = '_blank';
  link.click();
  link.remove();
}

使用链接作为直接元素:

<tr>
  <a href="" target="_blank">...</a>
</tr>
tr > a[target="_blank"] {
  display: block;
  height: 100%;
  width: 100%;
}

答案 1 :(得分:1)

href 重新加载页面,无需在 SPA 中使用。

它仅适用于锚标记以在右键单击使用时显示菜单。比如“在新标签页中打开”

它可以用在按钮上。

您可以将下面的代码用于您的目的。

默认在新标签页中打开 = target="_blank"

<a target="_blank" [routerLink]="'/edit/'+prop.id"> 

<a [routerLink]="'/edit/'+prop.id">