原因:ionic2採用hammerjs的手勢事件,但是hammerjs的swipe默認是不允許垂直方向的滑動,因此,需要手動配置,並重載配置
1.編寫配置文件:
下載hammerjs和類型描述文件:npm install hammerjs --save && npm install @types/hammerjs --save-dev;
新建myHammer.config.ts文件,並寫入一下內容:
import { HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import * as Hammer from 'hammerjs';
///原因是hanmmerjs默認是手勢事件都是水平方向的
export class MyHammerConfig extends HammerGestureConfig {
overrides = <any>{
'swipe': { direction: Hammer.DIRECTION_ALL } // 重載設置
}
}
2.模塊的跟模塊重載配置:
我建議是在app.module.ts模塊導入:
providers: [{ provide: HAMMER_GESTURE_CONFIG, useClass: MyHammerConfig }]
以上