Vertical scroll is not working with HammerJS and Angular2

前端 未结 5 489
盖世英雄少女心
盖世英雄少女心 2021-02-02 08:01

I\'m having a problem using the HammerJS with Angular2. I have a carousel (based on the bootstrap carousel with Angular2 event handlers) where I\'m listening to the swip

5条回答
  •  后悔当初
    2021-02-02 08:37

    Got it!

    In your AppModule:

    import { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser';
    
    export class MyHammerConfig extends HammerGestureConfig {
        overrides =  {
            'pinch': { enable: false },
            'rotate': { enable: false }
        }
    }
    
    @NgModule({
        declarations: [
            // ...
        ],
        imports: [
            // ...
        ],
        providers: [
            // ...
            {
                provide: HAMMER_GESTURE_CONFIG,
                useClass: MyHammerConfig
            }
        ],
        bootstrap: [ AppComponent ]
    })
    export class AppModule {}
    

    Now vertical scrolling works, after disabling pinch and rotate. Couldn't find any other way so far. I'm not sure what happens to the pinch and rotate events (I mean they would be disabled, I think). But even without this config, attaching a (pinch)="onPinch($event)" - didn't do anything anyway.

    Angular version in my project: 2.4.1

    Tested on:

    • Chrome for Windows (on a Surface, so real touchscreen - not just emulated) v 55.0.2883.87 m (64-bit)
    • Chrome for Android - v 55.0.2883.91

提交回复
热议问题