在 Angular 9 中,HammerGestureConfig 的用法发生了变化,不再需要手动调用 buildHammer() 方法。以下是一个示例解决方法:
npm install @angular/platform-browser hammerjs
import { BrowserModule, HammerGestureConfig, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import * as Hammer from 'hammerjs';
export class MyHammerConfig extends HammerGestureConfig {
overrides = {
swipe: { direction: Hammer.DIRECTION_ALL }
};
}
@NgModule({
imports: [
BrowserModule
],
providers: [
{
provide: HAMMER_GESTURE_CONFIG,
useClass: MyHammerConfig
}
],
bootstrap: [AppComponent]
})
export class AppModule { }
创建一个新的 HammerGestureConfig 类来扩展 HammerGestureConfig,并在其中添加你需要的手势配置。在上面的示例中,我们将所有手势的方向设置为 DIRECTION_ALL。
在 providers 数组中提供 HAMMER_GESTURE_CONFIG,将其指定为我们刚刚创建的 MyHammerConfig。
这样,在 Angular 9 中就不再需要手动调用 buildHammer() 方法了。