如何使用 TypeScript 在 Angular 2 中的 hammer.js 中初始化和设置选项



我想在我的 Angular 应用程序中使用 hammer.js。我确实成功安装了jquery,但是我对所有这些都不熟悉,我真的不知道如何进行更复杂的事情,需要在其上设置选项。我坚持要得到一个 hammerjs 对象,我可以在制作后对其进行操作。根据文档,建议在初始化后设置选项。

这是我到目前为止所做的:

我用 npm 安装了 hammerjs 和 hammer-timejs。

我以这种方式导入到我的组件中:

import 'hammerjs';
import 'hammer-timejs';

一些索引.html显示我尝试将锤子附加到什么:

<body>
<div id="main">
<app-root></app-root>
</div>
</body>

我只是按照文档所说的安装和设置选项吗?喜欢这个?

let hammertime = new Hammer(
document.getElementById('main')
);
hammertime.get('swipe').set({ threshold: 100 });

我必须在 ngOnInit 或其他钩子之一中执行此操作吗?

如果我想为整个应用程序安装 hammer.js,如何定义 myElement?只是普通的JS?

document.getElementById('main')

还是有更好的角度方法?

Angular 应用程序只对自身或子元素进行操作。

组件元素本身可以用ElementRef来寻址:

private hammerManager;
constructor(private elementRef: ElementRef) {}
ngOnInit() {
this.hammerManager = new Hammer(this.elementRef.nativeElement);
this.hammerManager.get('swipe').set({ threshold: 100 });
}
ngOnDestroy() {
this.hammerManager.destroy();
}

最新更新