Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 当用户滚动窗口时关闭Mat菜单_Angular_Angular Material_Angular7_Angular Material2_Viewchild - Fatal编程技术网

Angular 当用户滚动窗口时关闭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(); } } 但这只适

问题:当窗口在导航菜单顶部滚动时,不应显示mat菜单

原因:由于
.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();
 }