在Angular中,如果您使用此功能:
<div routerLink="/home"> <img src="..." /> </div>
当我按图像时,它会完美路由,我想按ctrl键并单击以在新选项卡中打开此链接,或将该图像拖动到新选项卡,但是当我按ctrl键并单击时它在同一页面中打开,并且如果我拖动它,则在新选项卡中打开的图像而不是链接中打开的图像,我尝试使用target="_blank"
,但不起作用。
答案 0 :(得分:3)
您将需要使用div
标签,而不是使用a
标签,以便浏览器知道将其视为链接。
<a routerLink="/home"> <img src="..." /> </a>
答案 1 :(得分:1)
我看到几个人问了这个问题,但是对我来说,这没有任何意义。
使用Angular构建应用程序时,就是在构建单页应用程序。这从本质上就是“一个浏览器窗口”。
如果您单击路由器链接,则按预期的行为是什么,如果新组件在新窗口中呈现,则该路由器链接定义为将当前组件替换为新组件?
您实际得到的是该应用程序的第二个实例。
我建议您要么以应有的方式使用Angular作为SPA应用程序,要么考虑使用其他框架。
也就是说,如果您要在新窗口(其他站点或后端直接提供的内容(例如PDF或电子表格))中打开非角度内容,则只需使用具有href属性的锚标记,而不是routerLink。
答案 2 :(得分:0)
您似乎遇到了类似的问题,该问题提到了 here
,我建议您尝试这样的事情,
<a routerLinkActive="active" [routerLink]="['/home']" ><img src="..." /></a>
答案 3 :(得分:0)
您可以向div添加link
角色
<div routerLink="/home" role="link">
<img src="..." />
</div>
如果您想启用“ ctrl + click”行为,而不必这样做:
div
标签更改为a
标签target="_blank"