首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >只禁止滑动打开离子菜单,而不是滑动关闭离子2。

只禁止滑动打开离子菜单,而不是滑动关闭离子2。
EN

Stack Overflow用户
提问于 2018-01-18 19:59:45
回答 1查看 1.7K关注 0票数 1

我发现接受的这个问题答案确实有帮助,但我发现它也禁用了滑动以关闭手势。

是否有任何方法只禁用它打开菜单,而不是关闭它?当我试图关闭它时,我发现它有点反应迟钝,并且认为这个滑动手势会修复它。我在国际医学博士里找不到关于它的任何东西。

代码语言:javascript
运行
复制
<ion-menu [content]="content" [swipeEnabled]="false">...</ion-menu>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-19 00:04:30

在Ionic中没有默认的方法可以这样做,但是您可以使用ionOpenionClose回调来处理当应该启用或禁用swipe功能时:

  1. 打开菜单后启用滑动功能,因此可用于关闭菜单。
  2. 关闭菜单后禁用滑动功能,因此不能用于打开菜单

工作柱塞

视图

代码语言:javascript
运行
复制
<ion-menu persistent="true" [content]="content" 
(ionOpen)="enableSwipe()"     <!-- Enable it when opening  -->
(ionClose)="disableSwipe()">  <!-- Disable it when closing -->
    <ion-header>
        <ion-toolbar color="primary">
            <ion-title>Side menu</ion-title>
        </ion-toolbar>
    </ion-header>    
    <ion-content>
    </ion-content>
</ion-menu>

<!-- Disable swipe-to-go-back because it's poor UX to combine STGB with side menus -->
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>

组件

代码语言:javascript
运行
复制
import { Component, ViewEncapsulation } from '@angular/core';
import { MenuController } from 'ionic-angular';
import { HomePage } from '../pages/home/home';

@Component({
    templateUrl: 'app.html'
})
export class MyApp {
    public rootPage: any = HomePage;

    constructor(private menuCtrl: MenuController) {}

    ngAfterViewInit() {
      this.disableSwipe();
    }

    public enableSwipe(): void {
      this.menuCtrl.swipeEnable(true);
    }

    public disableSwipe(): void {
      this.menuCtrl.swipeEnable(false);
    }

  }
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48329379

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档