2016-05-13 49 views
10

我使用cordova-google-maps插件與我的離子2應用程序,並且我想在該頁面上顯示菜單(sidenav)。問題在於sidenav正確接收事件,我需要在打開sidenav時調用map.setClickable(false),並在用戶關閉sidenav時將其設置回true。看起來有一個事件可用opening打開菜單時進行檢查,但我不知道如何跟蹤用戶關閉菜單的時間。如何檢測側面菜單在離子2中打開/關閉?

回答

2

看來新事件已被添加到解決此問題的菜單組件。我也使用谷歌地圖插件,它工作正常 http://ionicframework.com/docs/v2/api/components/menu/Menu/

ionDrag

當菜單被拖動開放。

ionOpen

當菜單已被打開。

ionClose

當菜單已被關閉。

使用這些輸出事件,在你處理,你可以保持一個標誌菜單,如果其打開或不:)

+0

我有同樣的問題,我發現在doc相同的事件但我不知道如何訂閱他們。能給我看看麼 ? – manu

27

對於使用ionDrag,ionOpen,ionClose在Ionic2必須添加它的菜單本身

例如修改菜單中你app.html文件由

<ion-menu [content]="content" (ionOpen)="menuOpened()" (ionClose)="menuClosed()"> 

後,我用「活動」在這裏看到的文檔:http://ionicframework.com/docs/v2/api/util/Events/

對於檢測在我的頁面中,如果菜單關閉或打開。

例如在我的app.ts

menuClosed() { 
    this.events.publish('menu:closed', ''); 
} 

menuOpened() { 
    this.events.publish('menu:opened', ''); 
} 

而且我在其他頁面

events.subscribe('menu:opened',() => { 
    // your action here 
}); 

events.subscribe('menu:closed',() => { 
    // your action here 
}); 

我希望這幫助

+0

嗨,我有一個menuClose in Ionic3問題 –

相關問題