Вам нужно каким-то образом захватить элемент DOM 1 и прикрепить к нему прослушиватель событий, а затем использовать обычный API DOM для перехвата щелчка.
«Самый угловой»Чтобы получить элемент, нужно поместить на него ссылку с символом #
:
<a href=world #ref>world</a>
Теперь из класса вы можете получить ссылку со следующим оформленным свойством.
@ViewChild('ref') refEl: ElementRef<HTMLAnchorElement>
После создания представления (например, в ngAfterViewInit
ловушке жизненного цикла) свойство будет инициализировано ссылкой, чтобы вы могли получить к нему доступ и подключить прослушиватель событий.
this.refEl.nativeElement.addEventListener('click', e => {
// handler here
})
Обработчик может просто вызвать маршрутизатор, или что вы хотите сделать.
this.router.push('page')
Не забудьте e.preventDefault()
, иначе браузер все равно сделает свою работу и отправит запрос на сервер.для новой страницы.
1 Это становится немного сложнее, если вашему приложению требуется поддержка какого-либо универсального рендеринга (например, рендеринга на стороне сервера).