如何使用TypeScript在Angular 2中初始化和设置hammer.js中的选项
我想在我的Angular应用程序中使用hammer.js。我确实成功地安装了jquery,但我对所有这些都是新手,我真的不知道如何继续进行更复杂的事情,需要在上面设置选项。我一直想得到一个hammerjs对象,我可以在它制作完成后进行操作。根据文档,建议在初始化后设置选项 以下是我迄今为止所做的: 我用npm安装了hammerjs和hammer timejs 我通过以下方式导入组件:如何使用TypeScript在Angular 2中初始化和设置hammer.js中的选项,angular,typescript,hammer.js,Angular,Typescript,Hammer.js,我想在我的Angular应用程序中使用hammer.js。我确实成功地安装了jquery,但我对所有这些都是新手,我真的不知道如何继续进行更复杂的事情,需要在上面设置选项。我一直想得到一个hammerjs对象,我可以在它制作完成后进行操作。根据文档,建议在初始化后设置选项 以下是我迄今为止所做的: 我用npm安装了hammerjs和hammer timejs 我通过以下方式导入组件: import 'hammerjs'; import 'hammer-timejs'; 一些index.html
import 'hammerjs';
import 'hammer-timejs';
一些index.html文件显示了我试图附加到的内容:
<body>
<div id="main">
<app-root></app-root>
</div>
</body>
我必须在ngOnInit或其他钩子中这样做吗
如果我想为整个应用程序安装hammer.js,如何定义myElement?只是普通的JS
document.getElementById('main')
或者有更好的角度方式吗?角度应用程序仅在自身或子元素上运行 组件元素本身可通过以下方式解决:
除了你没人知道什么是myElement。请提供,我现在就解决这个问题,谢谢。一般来说,您不应该在子组件中的父元素上操作,这是jQuery的习惯,不是一个好习惯。是否有什么东西阻止您在app root上执行此操作?我如何选择自定义元素
,以便在new Hammer(myElement)
语句中将其用作myElement
参数?将myElement设置为“此组件”的角度方式是什么?角度应用程序仅对自身或子元素运行。组件元素本身可以使用ElementRef及其nativeElement属性进行寻址。我不能说它是否能与Hammerjs一起很好地工作。
document.getElementById('main')
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();
}