假设我在ng-content标签之间有一个预计的原生输入。 我知道,我可以使用@ContentChild获取对预计输入的引用。 我想知道我怎么能检测到例如父组件中投影输入元素的焦点事件?
答案 0 :(得分:6)
没有办法。 CODEPEN事件不会起泡,因此需要直接在元素上进行监听。
如果您可以使用constructor(private renderer:Renderer) {}
someMethod() {
this.renderer.invokeElementMethod(
this.focusableChild.nativeElement,
'addEventListener', ['focus', onFocus.bind(this)]
);
}
获取参考,则可以使用
focus
如果您控制组件的使用方式,您可以将指令应用于您的内容,如focus
中所述,通过调度父元素可以侦听的自定义事件将@Component({
template: `... <ng-content></ng-content>
...
})
class MyComponent {
@HostBinding('custom-focus', ['$event'])
onFocus(event) {
...
}
}
事件转发到冒泡事件
{{1}}