垂直滚动不适用于 HammerJS 和 Angular2

2023-12-30

我在 Angular2 中使用 HammerJS 时遇到问题。 我有一个轮播(基于带有 Angular2 事件处理程序的引导轮播),我正在其中收听向左滑动 and 向右滑动事件。 滑动本身效果很好。 问题是,由于我使用 HammerJS,我无法在轮播组件上向上/向下滚动,而且由于它是一个完整视口大小的项目,所以这是一个大问题。

如何解决这个问题?

平台:
角度2 2.1.2
搭载 Android 系统的三星 Galaxy S2 5.1.1
安卓版谷歌浏览器:54.0.2840.85


Got it!

在您的应用程序模块中:

import { HAMMER_GESTURE_CONFIG, HammerGestureConfig } from '@angular/platform-browser';

export class MyHammerConfig extends HammerGestureConfig {
    overrides = <any> {
        'pinch': { enable: false },
        'rotate': { enable: false }
    }
}

@NgModule({
    declarations: [
        // ...
    ],
    imports: [
        // ...
    ],
    providers: [
        // ...
        {
            provide: HAMMER_GESTURE_CONFIG,
            useClass: MyHammerConfig
        }
    ],
    bootstrap: [ AppComponent ]
})
export class AppModule {}

现在垂直滚动可以工作,禁用后pinch and rotate。 目前还没有找到其他办法。我不确定会发生什么pinch and rotate事件(我的意思是它们将被禁用,我认为)。但即使没有这个配置,附加一个(pinch)="onPinch($event)"- 反正什么也没做。

我的项目中的角度版本:2.4.1

测试于:

  • Chrome for Windows(在 Surface 上,真正的触摸屏 - 不仅仅是模拟)v 55.0.2883.87 m(64 位)
  • Android 版 Chrome - v 55.0.2883.91
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

垂直滚动不适用于 HammerJS 和 Angular2 的相关文章

随机推荐