事件绑定角度2

时间:2017-07-02 03:53:56

标签: angular typescript

我想用这个“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));
    }

1 个答案:

答案 0 :(得分:1)

这可以使用以下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)

<强> LIVE DEMO