【发布时间】:2019-10-20 16:00:44
【问题描述】:
所以我继续实施了一个自定义指令:
@Directive({ selector: 'input[applostfocus]' })
export class LostFocus {
@Output()
applostfocus = new EventEmitter<any>();
@HostListener('focusout', ['$event.target' ])
focusout(input) {
this.applostfocus.emit(input);
}
}
它监听onfocusoutDOM Event,并发出一个事件。
如果包含在模块中,可以这样使用:
<input type="number" (applostfocus)="numberLostfocus($event)"></input>
public numberLostfocus($event) {
console.log("applostfocus");
}
但是我的问题是:真的可以这样的@Directive 在Angular 7 中不存在吗?
我在网上搜索过,只有 AngularJS 的解决方案。我也一直在看official docs。我之所以问这个问题,是因为使用这样一个高级框架感觉有点过度设计和不自然。
例如,您不必制作自定义指令来监听点击事件:
<button type="button" (click)="somemethod()"></button>
我写这个问题是为了确保我做对了,并且我没有重新发明轮子。我希望得到这样的答案:
- 是的,你做得对,没有这样的事情,因为:...
- 不,你失踪了……
编辑:
实际上记录在here。
【问题讨论】:
标签: angular angular-directive custom-directive