Angular 当用户滚动窗口时关闭Mat菜单
问题:当窗口在导航菜单顶部滚动时,不应显示mat菜单 原因:由于Angular 当用户滚动窗口时关闭Mat菜单,angular,angular-material,angular7,angular-material2,viewchild,Angular,Angular Material,Angular7,Angular Material2,Viewchild,问题:当窗口在导航菜单顶部滚动时,不应显示mat菜单 原因:由于.cdk overlay container中的z-index过高,该值升高 我一直跟在后面 file.ts @ViewChild(MatMenuTrigger) trigger: MatMenuTrigger; @HostListener('window:scroll', []) scrollHandler() { if (this.trigger) { this.trigger.closeMenu(); } } 但这只适
.cdk overlay container中的z-index
过高,该值升高
我一直跟在后面
file.ts
@ViewChild(MatMenuTrigger) trigger: MatMenuTrigger;
@HostListener('window:scroll', [])
scrollHandler() {
if (this.trigger) {
this.trigger.closeMenu();
}
}
但这只适用于6个菜单中的第一个菜单,其余的不在滚动上关闭
@ViewChildren(MatMenuTrigger)触发器:QueryList;
@HostListener('窗口:滚动',[]))
scrollHandler(){
for(让index=0;index
这将访问组件内的所有mat菜单,循环将遍历每个索引并关闭打开的菜单。@ViewChildren(MatMenuTrigger)触发器:QueryList;
@HostListener('窗口:滚动',[]))
scrollHandler(){
for(让index=0;index
这将访问组件内的所有mat菜单,循环将遍历每个索引并关闭打开的菜单
@ViewChildren(MatMenuTrigger) trigger: QueryList<MatMenuTrigger>;
@HostListener('window:scroll', [])
scrollHandler() {
for (let index = 0; index < this.trigger.toArray().length; index++) {
this.trigger.toArray()[index].closeMenu();
}