2017-08-08 59 views
1

我尝试做一个轻扫手势来切换标签。我希望手势能够在整个屏幕上运行。我赶上离子轻扫手势不适用于手机

<ion-content (swipe)="swipeEvent($event)"> 

轻扫运动而swipeEvent funtion是

swipeEvent(e) { 
    if(e.direction == '2'){ 
    this.navCtrl.parent.select(2); 
    } 
    else if(e.direction == '4'){ 
    this.navCtrl.parent.select(0); 
    } 
} 

它工作正常,在浏览器中。但是当我用手机构建手势时,手势没有任何影响。 有没有其他解决方案?

回答

1

通过加入用100%的高度和宽度一个div只是解决它。

<ion-content padding> 
    <div (swipe)="swipeEvent($event)" style="position: absolute;top:0;left:0;height:100%;width:100%;"> 
    <ion-item> 

    </ion-item> 
    </div> 
</ion-content> 
+0

有没有什么区别**我和你的一个在这里建议的解决方案。你也在这里做了同样的事情。你从'ion-content'中移除了'(swipe)'并且把它放到''div '没有区别。 – Sampath

2

这是Ionic团队成员解决方案:See this too

不推荐在主要内容上使用滑动手势。 由于离子内容是手势的输入(滚动等),它在其上滑动只会造成混淆。相反,将 事件处理程序放在子元素上可以正常工作。

<ion-content padding> 
    <ion-card (swipe)="swipeEvent($event)"> 
    <ion-item> 

    </ion-item> 
    </ion-card> 
</ion-content> 
+1

但我需要在整个屏幕上的手势。 – tontus

+1

这是由design.Sorry,你不能。 – Sampath

+0

尝试像这样。希望这会捕获左侧滑动事件。' – Sampath