У меня есть разные списки, и я хочу перейти к ним с сегментом. Так что это будет навигация по нажатию кнопки сегмента. Но я также хочу перемещаться по списку. Я делаю это с слайдами. Логично, что когда я нажимаю кнопку, слайд должен переключаться на слайд с соответствующей кнопкой сегмента, а активный индекс сегмента должен обновляться при скольжении. Но почему-то эти два механизма не взаимодействуют правильно. Потому что, когда я нажимаю кнопку, слайд не меняется, а когда я скользю, активный индекс сегмента не меняется. Когда я хочу консоль войти два веселья c. Я заметил, что они никогда не называются. Это почему? Вот мой код:
html:
<ion-toolbar>
<ion-segment mode="md" [(ngModel)]="segment" (ionChange)="segmentChanged()">
<ion-segment-button value="0">
</ion-segment-button>
<ion-segment-button value="1">
</ion-segment-button>
<ion-segment-button value="2">
</ion-segment-button>
</ion-segment>
</ion-toolbar>
<div>
<ion-slides #slides (ionSlideDidChange)="slideChanged()" scrollbar="false">
<ion-slide>
<ion-list>
<ion-card>
</ion-card>
</ion-list>
</ion-slide>
<ion-slide>
<ion-list>
<ion-card>
</ion-card>
</ion-list>
</ion-slide>
<ion-slide>
<ion-list>
<ion-card>
</ion-card>
</ion-list>
</ion-slide>
</ion-slides>
</div>
ts:
@ViewChild('slides', { static: true }) slider: IonSlides;
...
async segmentChanged() {
await this.slider.slideTo(this.segment);
console.log(1)
}
async slideChanged() {
this.segment = await this.slider.getActiveIndex();
console.log(2)
}