Как включить «Ctrl + клик» с «routerLink» в Angular - PullRequest
0 голосов
/ 07 октября 2018

В Angular, если вы используете это:

<div routerLink="/home"> <img src="..." /> </div>

Когда я нажимаю на изображение, оно идеально подходит, я хочу нажать Ctrl + клик, чтобы открыть эту ссылку в новой вкладке, или перетащить это изображение вновая вкладка, но когда я нажимаю Ctrl + щелчок, она открывается на той же странице, и если я перетаскиваю ее, изображение, открываемое в новой вкладке, а не ссылка, я пытался использовать target="_blank", но он не работает.

Ответы [ 3 ]

0 голосов
/ 07 октября 2018

Кажется, вы столкнулись с подобной проблемой, упомянутой here, я бы порекомендовал вам попробовать что-то подобное,

<a routerLinkActive="active" [routerLink]="['/home']" ><img src="..." /></a>
0 голосов
/ 07 октября 2018

Я вижу, что несколько человек задавали этот вопрос, но для меня это не имеет никакого смысла.

Когда вы создаете приложение с Angular, вы создаете одностраничное приложение.Это по сути означает «одно окно браузера».

Каким будет ожидаемое поведение, если вы нажмете на ссылку маршрутизатора, которая по определению заменяет текущий компонент новым, если новый компонент отображается вновое окно?

То, что вы на самом деле получите, - это второй экземпляр приложения.

Я предлагаю вам использовать Angular так, как он должен был использоваться, в качестве приложения SPA, или выглядетьв использовании другой основы.

Тем не менее, если вы пытаетесь открыть неангулярный контент в новом окне (другой сайт или что-то, что обслуживается непосредственно вашим бэкэндом (например, PDF или электронная таблица),затем просто используйте тег привязки с атрибутом href вместо routerLink.

0 голосов
/ 07 октября 2018

Вместо использования тега div вам нужно будет использовать тег a, чтобы браузер знал, что его следует рассматривать как ссылку.

<a routerLink="/home"> <img src="..." /> </a>
...