Angular 在角度2(4)外单击关闭
最近我发布了类似的问题,但我无法让它工作,所以我将在这里引用它,并再次寻求帮助,因为我无法做到这一点 问题: 因此,我需要做以下工作:我有一个侧菜单,点击菜单中的一个列表项,我打开另一个侧栏菜单(它不是下拉菜单),我需要在单击新侧菜单以外的任何位置时关闭它 我的组件结构如下:布局组件>边栏组件>小菜单组件 所以我打开小菜单,点击侧边栏组件内部。我试过: 它们似乎不起作用Angular 在角度2(4)外单击关闭,angular,angular2-template,Angular,Angular2 Template,最近我发布了类似的问题,但我无法让它工作,所以我将在这里引用它,并再次寻求帮助,因为我无法做到这一点 问题: 因此,我需要做以下工作:我有一个侧菜单,点击菜单中的一个列表项,我打开另一个侧栏菜单(它不是下拉菜单),我需要在单击新侧菜单以外的任何位置时关闭它 我的组件结构如下:布局组件>边栏组件>小菜单组件 所以我打开小菜单,点击侧边栏组件内部。我试过: 它们似乎不起作用 谢谢。所以我实际上已经解决了这个问题,但只有一个下拉列表,但我觉得它与您正在寻找的内容类似 在组件/指令中 construc
谢谢。所以我实际上已经解决了这个问题,但只有一个下拉列表,但我觉得它与您正在寻找的内容类似 在组件/指令中
constructor() {
document.addEventListener('click', this.offClickHandler.bind(this));
}
offClickHandler(event:any) {
if (!event.target.closest(".select-options") && !event.target.closest(".select-input")) {
// do whatever you want here
}
}
这将检查是否在打开的div/dropdown中单击了关闭,但没有单击。然后执行offClickHandler中的代码。因此,只需将offClickHandler中的类设置为在单击时要关闭的侧菜单,然后将其隐藏在if语句中即可。我尝试过这个方法,但它不起作用:/