2015-12-21 74 views
1

我是Ionic框架的新手。有没有办法在风景模式下打开菜单,在更改为人像模式时将其关闭,反之亦然,类似于Hiding the Ionic Framework Header based on screen orientation在屏幕方向上关闭/打开离子菜单

使用,

window.addEventListener("orientationchange", function(){ 

}); 

我可以能够检测取向变化,但无法找到一个方法来隐藏/显示菜单。并有办法做到这一点使用CSS'

/* portrait */ 
@media screen and (orientation:portrait) { 

} 
/* landscape */ 
@media screen and (orientation:landscape) { 

} 

如果两者都可能,这是处理这种情况的首选方式?

回答

1

您可以使用服务$ionicSideMenuDelegate以编程方式打开或关闭菜单。

.controller('AppCtrl', function($scope, $ionicSideMenuDelegate) { 
//          ˆˆˆˆ injected ˆˆˆˆ 

    window.addEventListener("orientationchange", function(){ 
    $ionicSideMenuDelegate.toggleLeft(window.orientation !== 0); 
    }); 

}) 

请记住在您的控制器中注入服务$ionicSideMenuDelegate。在这个例子中,我在AppCtrl中注入$scope$ionicSideMenuDelegate

这适用于iOS和Android!

+0

如何将服务注入控制器? – Stranger

+0

我更新了我的答案! – manzapanza

+0

真棒谢谢:) – Stranger