以下情况:有些组件包含一个删除按钮( PARENT组件)。如果用户单击此按钮,则应打开一个简单的确认模式(儿童组件)。在此模式之外单击将再次关闭确认模式。我试图实现这一点,并为子组件(模态)创建了主机侦听器,但不知道如何排除父组件中的按钮。
@HostListener('document:click', ['$event.target'])
public onClick(targetElement) {
const clickedOutside = !this.elementRef.nativeElement.contains(targetElement);
// needs to be extended to exclude the button in parent component
if (clickedOutside && this.display) {
console.log('host listener - closing modal');
// this.close(false);
}
}
有人知道如何解决这个问题吗?这是一个简单的角度应用程序的链接:https://stackblitz.com/edit/angular-nbmfee
或者有更好的方法来解决这个问题。预先谢谢你。