【发布时间】:2017-03-24 08:53:20
【问题描述】:
我不认为这是可能的,但我更愿意问(以防万一):是否可以做类似的事情:
@Directive({
selector: '[appTag]'
})
export class TagDirective {
@Input() appTag: TagEvent;
private _tagTriggerEvent = 'click';
@Input() set tagTriggerEvent(triggerEvent: string) {
this._tagTriggerEvent = triggerEvent || this._tagTriggerEvent;
}
constructor(private el: ElementRef, private renderer: Renderer) {
}
@HostListener(this._tagTriggerEvent) onTriggerEvent() {
if (this.appTag) {
this.sendTag(this.appTag);
}
}
sendTag(tagParam: TagEvent) {
...
}
}
然后这样称呼它:
<div [appTag]="myTagParam">Watch for click on this div</div>
<div [appTag]="myTagParam" [tagTriggerEvent]="mouseenter">Watch for mouseenter on this div</div>
【问题讨论】:
标签: html events angular angular2-directives