我有一个Angular项目,里面有几个库/项目。其中一个库是一个自定义轮播(使用hammerjs),我可以在任何其他库中重复使用。问题是想要在carousel模块中为hammerjs设置配置而不必在shell中设置它。这样它就可以处理所有自己的配置。它只适用于我在shell app.module.ts中设置而不是在carousel.module.ts中。
对于例如我想设置
export class MyHammerConfig extends HammerGestureConfig {
buildHammer(element: HTMLElement) {
let mc = new Hammer(element, {
touchAction: 'pan-y',
recognizers: [
[Hammer.Pan, { direction: Hammer.DIRECTION_HORIZONTAL }],
],
});
return mc;
}
}
和
providers: [{ provide: HAMMER_GESTURE_CONFIG, useClass: MyHammerConfig }]
任何人都知道如何使任何消费库使用它正在消耗的库中的配置?
谢谢
目前Angular的一个限制是必须在bootstrap时创建事件插件。在短期内,您只能在应用程序模块中为Hammer手势配置添加提供程序。