ionic3默认使用的hammerjs来监听重力感应,通过hammerjs的文档我们看到
When calling Hammer() to create a simple instance, the pan and swipe recognizers are configured to only detect horizontal gestures.
默认是不支持垂直方向的滑动。解决办法如下:
npm install hammerjs --save && npm install @types/hammerjs --save-dev
创建MyHammerConfig.ts
import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import * as Hammer from 'hammerjs';
// create a class that overrides hammer default config
export class MyHammerConfig extends HammerGestureConfig {
overrides = <any>{
'swipe': { direction: Hammer.DIRECTION_ALL } // override default settings
}
}
在你的module文件引入该文件,并在providers里加入以下代码
providers: [{
provide: HAMMER_GESTURE_CONFIG,
useClass: MyHammerConfig
}]
那么在你的html文件中通过swipeEvent
方法就可以监听到向上和向下的滑动了。