我想用这个“tmp”来绑定事件,但是这也附加了以前的现有按钮,为什么?
constructor(private renderer :Renderer ,private element : ElementRef){
}
private appender(){
var tmp = this.renderer.createElement(this.element.nativeElement,'button');
this.renderer.listen(tmp, 'click', ( event:Event ) => console.log(event));
}
最佳答案 这可以使用Renderer2实现,如下所示,
将Renderer2服务注入组件
constructor(private renderer: Renderer2){}
使用listen方法注册事件监听器
this.renderer.listen('body', 'click',this.calback)
触发事件时将执行回调功能.
calback(event){
console.log(event)
}
注意:listen refer docs的方法定义以获取更多信息
listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any)