首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >防止在IOS ionic 5 Vue应用程序上向后滑动

防止在IOS ionic 5 Vue应用程序上向后滑动
EN

Stack Overflow用户
提问于 2021-03-10 22:56:01
回答 3查看 713关注 0票数 2

我以前用Ionic Angular为整个应用程序做过这样的事情:

代码语言:javascript
运行
复制
IonicModule.forRoot({ swipeBackEnabled: false })

或者通过注入IonRouterOutlet来获取单个页面:

代码语言:javascript
运行
复制
this.routerOutlet.swipeGesture = true;

但是,我如何在Ionic Vue应用程序上执行此操作?

我使用以下命令禁用全局滑动:

代码语言:javascript
运行
复制
app.use(IonicVue, {swipeBackEnabled: false})

但是如果我在页面上导入IonRouterOutlet,它就没有swipeGesture属性,并且我不知道如何在单个页面上禁用该选项。

EN

回答 3

Stack Overflow用户

发布于 2021-04-09 10:40:54

您可以在应用程序中全局禁用swipeGesture,方法是将[swipeGesture]="false"添加到src根目录下的App.vue文件中的ion-router-outlet中:

代码语言:javascript
运行
复制
<template>
  <ion-app>
    <Header />
    <ion-router-outlet [swipeGesture]="false" />
  </ion-app>
</template>
票数 1
EN

Stack Overflow用户

发布于 2021-05-28 14:57:58

仅限iOS :我发现了一种有效但并不美观的方法。

首先,从@ createGesture /vue导入离子函数。

代码语言:javascript
运行
复制
import { createGesture } from '@ionic/vue';

然后,必须在ionViewWillEnter中覆盖标准的向后滑动手势。

代码语言:javascript
运行
复制
const gesture = createGesture({
  el: document.getElementById('test'),
  threshold: 0,
  gestureName: 'goback-swipe',
  gesturePriority: 40.5, // priority of swipe to go back is 40
  onMove: ev => console.log(ev)
});
gesture.enable(true);

然后给ion-page对象一个ID,并对其应用手势。

代码语言:javascript
运行
复制
<ion-page id="test">
票数 1
EN

Stack Overflow用户

发布于 2021-09-19 17:17:06

Phil0xFF感谢您的解决方案。

我根据您的决定创建了v-disable-swipe-back指令

享受您的使用)

  1. npm i v-disable-swipe-back

  1. <ion-page v-disable-swipe-back>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66567255

复制
相关文章

相似问题

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