2016-03-01 58 views
0

我正在與sidemenu的離子項目工作。我只想在完成sidemenu轉換後才加載內容。於是,我寫了如下snipet:關閉時是否有任何對離子sidemenu的回調?

$scope.$watch(function(){ 
    return $ionicSideMenuDelegate.isOpen(); 
}, function (val) { 
    console.log(val); 
}); 

然而,我的應用程序返回的那一刻我點擊打開菜單「真」,並返回此刻我點擊關閉菜單「假」。我希望在轉換完成後才能收到「false」或「true」。

有人可以幫助我嗎?非常感謝!!!

+0

這也許不是最好的方式,但你可以看看CSS過渡多久設置要採取的隱藏菜單,然後做了'$ timeout'角調用以毫秒爲單位指定相同的超時值並執行所需的邏輯。黑客攻擊,但無論屏幕分辨率或設備如何,時間安排都應該保持一致。 – GONeale

+0

謝謝@GONeale,但我真的會避免使用定時器解決方案。 –

+0

沒問題。祝你好運 – GONeale

回答

0

你可以試試這個:

$scope.$watch(function() { 
     return $ionicSideMenuDelegate.getOpenRatio(); 
    }, 
       function (ratio) { 
        if (ratio == 0) { 
         //your code 
        } 
        //if (ratio == 1) { 
         //your code 
        //} 
       }); 
+0

謝謝@Jérôme,我試過了。這顯示我「0」和「1」,但不是在轉換結束時。 –