我们有一个Ionic(v1.7.16)应用程序。应用程序的布局是左侧菜单,主要内容和在某些情况下出现的右侧菜单。
<ion-side-menus cache-view="false>
<ion-side-menu-content>
...
</ion-side-menu-content>
<ion-side-menu side="left">
...
</ion-side-menu>
<ion-side-menu side="right" ng-show="vm.showSideMenu">
...
</ion-side-menu>
</ion-side-menus>
我想禁用拖动打开右侧菜单的功能。 (从屏幕右侧向左拖动以显示右侧菜单)
ng-show
指令似乎正常工作,但您仍然可以拖动以显示侧面菜单。
通过v1 docs我尝试了一些事情,比如在<ion-side-menu>
上设置一个函数,返回vm.showSideMenu
但是没有用。我认为我不想完全禁用拖动。似乎有一些指令可以在Ionic的更高版本中处理此问题,但我们目前尚未升级此应用程序。
使用$ ionicSideMenuDelegate
https://ionicframework.com/docs/v1/api/service/ $ ionicSideMenuDelegate /
在此使用canDragContent(false);如果您特别需要仅禁用右侧菜单,则禁用拖动
使用$ getByHandle('my-handle')它返回delegateInstance一个委托实例,它只控制ionSideMenus指令,其中delegate-handle匹配给定的句柄。
用法:
$ionicSideMenuDelegate.$getByHandle('my-handle').canDragContent(false);
HTML:
<ion-side-menu side="right" delegate-handle="my-handle">
...
</ion-side-menu>