事件绑定角2
问题描述:
我想用这个“tmp”绑定事件,但是这也附加了以前的现有按钮,为什么?事件绑定角2
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)
}
注:听refer docs了解更多信息方法定义
listen(target: 'window'|'document'|'body'|any, eventName: string, callback: (event: any)
你是什么意思'这个 “TMP”'? –
代码不足,请尽可能多的代码以获得帮助 – Skeptor
“this”指的是以角度2写入的组件。 –