【发布时间】:2019-02-08 15:46:46
【问题描述】:
我正在尝试使用 (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 is not a function。
我正在使用 Ionic 4 并根据更新文档将 getSlidingPercent 替换为 getSlidingRatio。
尝试将事件提示为 CustomEvent 但... getSlidingRatio() 在此类型上不存在...与 CustomEvent 相同
所以我的问题...我对这段代码做错了什么?
【问题讨论】:
-
根据github.com/ionic-team/ionic/blob/master/core/src/components/…你应该访问
event.ratio -
Thx... 但是,event.ratio 值似乎未定义...以及数量...只需替换我的控制台以查看包含“事件”的内容并获取 {"isTrusted": false},所以,我认为“事件”没有按预期传输
标签: angular progressive-web-apps ionic4