搜索

首页  >  问答  >  正文

javascript - angular2中directive获取点击事件

directive的代码:

import {Directive, ElementRef, EventEmitter, HostListener, Output} from '@angular/core';

@Directive({
    selector: '[cz-click]' // Attribute selector
})
export class CzClickDirective {

    constructor(public element: ElementRef) {

    }
    @Output() myClick  = new EventEmitter();

    @HostListener("click",["$event"])
    onClick(e){
        this.myClick.emit(e);
    }

}

html中

 <button (myClick)="testdata()">登录</button>

想法是写一个directive来替代(click)
现在这样写了后没有效果也没报错。。。。
请问前辈们这是哪儿写错了?谢谢0-0

淡淡烟草味淡淡烟草味2821 天前782

全部回复(1)我来回复

  • 仅有的幸福

    仅有的幸福2017-05-27 17:46:26

    selector是"[cz-click]"

    你只写了(myClick),这个元素根本没有被找到

    加上cz-click就可以了

    <button cz-click (myClick)="testdata()">登录</button>

    回复
    0
  • 取消回复