2017-04-09 3 views
1

ページにトグルボタンを配置するには、menuToggleディレクターを使用します。しかし、ページに2つか3つのメニューを入れたいのであれば、どうすればいいですか?言い換えれば、どのボタンをクリックするとどのメニューを開くべきかを検出する方法は?メニューをボタンに切り替えるにはどうすればいいですか?

注:このquestionは、どのようにトグル動作が行われるかを示していません。ちょうど約menuToggle="right"またはmenuToggle="left"と表示されます。しかし、私は左に2つのメニューがある場合、ボタンとメニューを一緒にバインドするコードを書くべきですか?

メニュー1:

<ion-nav #mycontent [root]="rootPage"></ion-nav> 
    <button ion-button menuToggle="left">Toggle Menu</button> 

    <ion-menu [content]="mycontent"> 
    <ion-content> 
     <ion-list> 
     <p>some menu content</p> 
     </ion-list> 
     <ion-list> 
     <ion-item menuClose detail-none>Close Menu</ion-item> 
     </ion-list> 
    </ion-content> 
    </ion-menu> 

メニュー2:

<button ion-button menuToggle="left">Toggle Menu2</button> 

    <ion-menu [content]="mycontent" side="right"> 
    <ion-content> 
     <ion-list> 
     <p>some menu content 2</p> 
     </ion-list> 
     <ion-list> 
     <ion-item menuClose detail-none>Close Menu2</ion-item> 
     </ion-list> 
    </ion-content> 
    </ion-menu> 

メニュー3:

<button ion-button menuToggle="right">Toggle Menu2</button> 

    <ion-menu [content]="mycontent" side="right"> 
    <ion-content> 
     <ion-list> 
     <p>some menu content 3</p> 
     </ion-list> 
     <ion-list> 
     <ion-item menuClose detail-none>Close Menu2</ion-item> 
     </ion-list> 
    </ion-content> 
    </ion-menu> 
+1

の可能性のある重複した[イオン2 - 複数同時にメニュー(右 - 左)](http://stackoverflow.com/questions/40802202/ionic-2-multiple-menu-at-the-time-right-left) –

+0

@surajこれは単なる例です。複雑なものを作るためにionic2のメニューの仕組みを知りたい。例えば、左に2つ、右に1つのメニューがあれば、どうすればいいですか? –

+0

'menuToggle =" menuId "や' menuOpen = "menuId'は動作しますか?atm – Ivaro18

答えて

0

まずそう

<ion-menu id="menu1">のようなトグルオプションにIDを結合してみてくださいおよび<button menuToggle="menu1"> OR <button menuOpen="menu1">


それはあなたがMenuControllerhttps://ionicframework.com/docs/api/components/menu/MenuController/)を使用して、次の回避策を使用して動作しない場合

あなたは2メニューのidの

<ion-menu id="menu1"><ion-menu id="menu2">とを持っている場合は、ボタンを作ることができます

<button (click)="openMenu('menu1')">Open menu 1</button>

そして、あなたのtsにはちょうど選択したメニューをごmenuControllerを作成して開く

constructor(public menuCtrl: MenuController) {} 

openMenu(menuId: string) { 
    this.menuCtrl.open(menuId); 
} 

closeMenu(menuId: string) { 
    this.menuCtrl.close(menuId); 
} 
関連する問題