我希望找到更好的方法来实现这个功能。
我正在尝试向body标签添加一个事件。我正在使用Angular 4。 由于body标签(在index.html中)没有通过组件处理,我无法使用Angular的方式来完成此操作。
通常我会在xyz.component.html中做类似这样的事情:
(click)="myMethod()"
在xyz.component.ts文件中可能会有这样的代码。
public myMethod(): void {
// do something here
}
由于我在Angular方面的知识有限,除了像这样直接将事件添加到body标签中,我无法想到更好的方法:
<body onscroll="myMethod()">
请将实际函数放置在index.html文件头部的script标签之间,如下所示:
<head>
<script>
function myMethod(){
// do something here
}
</script>
</head>
我尝试在app.component.ts类中向body(window/document)添加事件监听器,如下所示:
export class AppComponent implements OnInit{
public myMethod(): void{
window.addEventListener('myEvent', this.myEventHandler, false);
}
}
这对我没有用。在我检查了该元素之后,我发现事件没有被附加。