Я хочу передать ссылку на элемент в директиве. Я знаю, что ссылка элемента, на котором была применена директива может быть полученаэлемент элемента ссылки на директиву
private _elemRef: ElementRef
, но я хочу, чтобы передать ссылку на другой элемент в директиве. Любая помощь приветствуется.
Вот демо-код. Я использую директиву ripple
.
<ul #other>
<li ripple>Hello</li>
</ul>
directive.js
@Directive({
selector: '[ripple]'
})
export class RippleDirective {
constructor(private _elemRef: ElementRef) {
}
@HostListener('click', ['$event'])
public onClick(event: MouseEvent) {
// I wan't to refer the '#other' node here
}
}
Пожалуйста, добавьте больше кода, который демонстрирует, что вы пытаетесь выполнить. Что такое «другой элемент» и «директива»? –
Возможно это возможно. Но я был бы обеспокоен эффектами дизайна кода. Если вам нужна информация из этого элемента, вы можете написать функцию, которая читает ее в текущем компоненте, и передать эту информацию в атрибуте '[bracket] =" func() "'. Если вы хотите изменить этот элемент, вы можете посмотреть событие на своем подкомпоненте. Для других целей специализированные теги работают хорошо. – Katana314
https://angular.io/docs/ts/latest/api/core/index/ViewChild-var.html –