Другое решение, если вы не хотите добавлять зависимость hammer js и просто использовать Ioni c, это использовать официальный компонент ion-slides для управляйте своими страницами как слайдами.
Я реализовал это в нескольких приложениях, и это работает очень хорошо.
В вашем примере вы захотите настроить контейнер <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»), а затем, когда вы проводите пальцем влево по компоненту слайда, вы можете go перейти к странице 1.