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