Я пытаюсь использовать директиву (ionDrag) для увеличения или уменьшения суммы, поэтому я создал представление, которое выглядит следующим образом:
<ion-item-sliding (ionDrag)="handleSlide($event, tour)">
<ion-item>
Drag to add or remove
</ion-item>
<ion-item-options side="start">
<ion-item-option><ion-icon name="remove-circle-outline"></ion-icon></ion-item-option>
</ion-item-options>
<ion-item-options side="end">
<ion-item-option><ion-icon name="add-circle-outline"></ion-icon></ion-item-option>
</ion-item-options>
</ion-item-sliding>
В контроллере я пишу этот код:
import { Component, OnInit, Input } from '@angular/core';
@Component({
selector: 'app-places',
templateUrl: './places.component.html',
styleUrls: ['./places.component.scss']
})
export class PlacesComponent implements OnInit {
@Input() tour: any;
constructor() { }
ngOnInit() {
}
public handleSlide(event: any, tour: any): void {
const percent: Number = event.getSlidingRatio();
console.log('Slide ' + event.type + ' : ' + percent);
if (percent > 0) {
this.increment();
} else {
this.decrement();
}
}
private increment(): any {
console.log('Up');
}
private decrement(): any {
console.log('Down');
}
}
Но когда я перетаскиваю элемент, консоль возвращает TypeError. E.getSlidingRatio не является функцией.
Я использую Ionic 4 и заменяю getSlidingPercent на getSlidingRatio в соответствии с документами обновления.
Попытка намека на событие как CustomEvent, но ... getSlidingRatio () не существует для этого типа ... То же самое с CustomEvent
Так что мой вопрос ... Что я делаю неправильнос этим куском кода?