【发布时间】:2017-08-08 07:19:08
【问题描述】:
我已经构建了一个指令,它使用主机事件侦听器订阅键盘事件。当按下转义键时,我正在触发这样的输出事件
@HostListener('document:keyup', ['$event'])
handleKeyboardEvent(kbdEvent: KeyboardEvent) {
if (kbdEvent.keyCode === 27) {
this.CloseEvent.emit();
}
}
我对子元素有这个指令。当按下转义键时,我只想为新订阅的元素触发输出事件。问题是当我单击转义键时,事件会根据层次顺序触发。我这里做了一个demo:https://plnkr.co/edit/FfnHAtxl2zcHsu0JilKt
重现步骤:
- 添加多个子元素
- 点击 Escape 会关闭所有元素
预期行为:
- 当在最后添加的子元素上单击 Escape 键时需要触发事件
【问题讨论】:
-
我不明白问题出在哪里...我按了退出,它们都关闭了,我按删除,相邻的关闭了?
-
用户有两个选项可以通过单击删除按钮或转义来删除添加的子项。当我单击转义键时,您可以看到所有添加的子项都被删除。我只希望最近添加的元素是并非全部删除
-
最近你的意思是添加的最后一个?
-
@zze 是的,最后添加了一个
标签: angular