首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相同页面上的离子4 2菜单

相同页面上的离子4 2菜单
EN

Stack Overflow用户
提问于 2020-01-20 21:40:19
回答 1查看 381关注 0票数 1

我试图添加多个菜单到同一页面的离子,但当我打开其中一个,我不能点击任何一个链接。

在我的应用程序组件中,我有一个菜单在那里,一个单独的组件为正确的菜单。

代码语言:javascript
复制
<ion-app>
  <ion-menu menuId="mainMenu" side="start" contentId="mainMenu" swipe-gesture="false">
    <ion-header>
      <ion-toolbar>
        <ion-title>Pages Menu</ion-title>
      </ion-toolbar>
    </ion-header>
    <ion-content>
      <ion-list>
        <ion-menu-toggle auto-hide="false" *ngFor="let p of appPages">
          <ion-item [routerDirection]="'root'" [routerLink]="[p.url]">
            <ion-icon slot="start" [name]="p.icon"></ion-icon>
            <ion-label>
              {{p.title}}
            </ion-label>
          </ion-item>
        </ion-menu-toggle>
      </ion-list>
    </ion-content>
  </ion-menu>
  <app-side-menu></app-side-menu>
  <ion-router-outlet id="mainMenu"></ion-router-outlet>
</ion-app>

这是我的侧菜单组件

代码语言:javascript
复制
<ion-menu side="end" menuId="sideMenu" id="sideMenu" contentId="sideMenu" swipe-gesture="false">
  <ion-header>
    <ion-toolbar color="primary">
      <ion-title>Menu</ion-title>
    </ion-toolbar>
  </ion-header>
  <ion-content>

    <div *ngFor="let p of menu">

      <ion-menu-toggle *ngIf="p.url">
        <ion-item [routerLink]="p.url" routerDirection="root" routerLinkActive="active">
          <ion-icon [name]="p.icon" slot="start"></ion-icon>
          <ion-label>
            {{ p.title }}
          </ion-label>
        </ion-item>
      </ion-menu-toggle>

      <ion-item button *ngIf="p.children?.length > 0" (click)="p.open = !p.open" [class.active-parent]="p.open" detail="false">
        <ion-icon slot="start" name="arrow-forward" *ngIf="!p.open">,/</ion-icon>
        <ion-icon slot="start" name="arrow-down" *ngIf="p.open">,/</ion-icon>
        <ion-label>{{ p.title }}</ion-label>
      </ion-item>

      <ion-list *ngIf="p.open">
        <ion-menu-toggle>
          <ion-item class="sub-item"  *ngFor="let sub of p.children" [routerLink]="sub.url" routerDirection="root" routerLinkActive="active">
            <ion-icon [name]="sub.icon" slot="start"></ion-icon>
            <ion-label>
              {{ sub.title }}
            </ion-label>
          </ion-item>
        </ion-menu-toggle>
      </ion-list>
    </div>
  </ion-content>
</ion-menu>

在我想要显示这两个菜单的页面上,这是标题

代码语言:javascript
复制
<ion-header>
  <ion-toolbar>
    <ion-buttons slot="start">
      <ion-menu-button menu="mainMenu" autohide="false"></ion-menu-button>
    </ion-buttons>

    <ion-buttons slot="end">
      <ion-menu-button menu="sideMenu" autohide="false"></ion-menu-button>
    </ion-buttons>

    <ion-title>
      Home
    </ion-title>
  </ion-toolbar>
</ion-header>

所有显示正确,左菜单工作良好,但当我打开右菜单时,我不能点击任何东西或点击离开。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-21 00:26:47

尝试将侧菜单的contentId设置为必须呈现路由内容的路由器出口的ID。在这种情况下,我认为您希望指向"mainMenu":

因为:

代码语言:javascript
复制
<ion-router-outlet id="mainMenu"></ion-router-outlet>

你需要把你的边菜单指向它:

代码语言:javascript
复制
<ion-menu side="end" menuId="sideMenu" id="sideMenu" contentId="mainMenu" swipe-gesture="false">
    ...
</ion-menu>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59831238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档