我有一个 Ionic 页面,我希望在向左滑动时将其重定向到自定义页面。仅仅将我重定向回来是不够的,因为我可以从深层链接打开该页面,这意味着我没有返回窗口的历史记录。
我看到有一个手势 API,但对于这样一个常见的原因来说它有点太多了。另外,我在以前的版本中看到了向左/向右滑动事件,但在 Ionic 4/5 上没有参考。
Ionic 5 没有向左滑动的事件吗?
我有一个 Ionic 页面,我希望在向左滑动时将其重定向到自定义页面。仅仅将我重定向回来是不够的,因为我可以从深层链接打开该页面,这意味着我没有返回窗口的历史记录。
我看到有一个手势 API,但对于这样一个常见的原因来说它有点太多了。另外,我在以前的版本中看到了向左/向右滑动事件,但在 Ionic 4/5 上没有参考。
Ionic 5 没有向左滑动的事件吗?
另一种解决方案是,如果您不想添加hammerjs依赖项而只使用Ionic,则可以使用官方的ion-slides 组件将您的页面作为幻灯片进行管理。
我已经在几个应用程序上实现了这一点,并且效果非常好。
在您的示例中,您需要设置一个<ion-slides>
容器,然后您的“页面”将作为<ion-slide>
组件存在于其中。
然后,您可以轻松地点击该(ionSlideDidChange)
事件,如下所示:
<ion-slides
*ngIf="!isLoading && pages"
[options]="slideOptions"
(ionSlideDidChange)="onSlideChange()"
class="em-height-full"
#pages
>
然后在您的.js
or.ts
文件中创建一个方法,例如:
async onSlideChange() {
this.pageIndex = await this.slides.getActiveIndex();
}
然后您可以使用 跟踪页面pageIndex
。因此,在您的情况下,您将从 deepLink 打开页面(可能将其路由到“第 2 页”),然后当您在幻灯片组件上向左滑动时,您可以转到第 1 页。
您正在寻找这个:https ://ionicframework.com/docs/utilities/gestures
添加 HammerJS 不是一个好主意,因为您可能会遇到错误的情况。