Bar*_*uch 3 javascript typescript angular
我正在尝试添加一个window:scroll监听器,但滚动时没有任何反应
到目前为止我尝试过的:
使用host内部组件装饰器
@Component({
...
host: {
'window:scroll' : 'onWindowScroll($event)'
},
...
)
export class PageWrapperComponent implements OnInit {
...
public onWindowScroll(event: Event): void {
console.log('scrolled');
}
...
}
Run Code Online (Sandbox Code Playgroud)
使用HostListener内部组件装饰器
export class PageWrapperComponent implements OnInit {
...
@HostListener('window:scroll', ['$event'])
public onWindowScroll(event: Event): void {
console.log('scrolled');
}
...
}
Run Code Online (Sandbox Code Playgroud)
我也尝试在属性指令中使用它,但它也不起作用
两者都不会触发console log.我在SO中搜索过类似的问题,但即使我的代码基本相同,它仍然无效.
编辑
我能够解释为什么window:scroll没有工作,我正在使用host组件库,我覆盖了HostListener高度,console log它不喜欢那样.
在组件装饰器中使用主机
它应该是:
'(window:scroll)' : 'onWindowScroll($event)'
Run Code Online (Sandbox Code Playgroud)
在组件装饰器中使用HostListener 您的语法看起来正确
@HostListener('window:scroll', ['$event'])
public onWindowScroll(event: Event): void {
console.log('scrolled');
}
Run Code Online (Sandbox Code Playgroud)
您还可以确保您的组件已滚动.在我的例子中,我模仿滚动:
styles: [`
:host {
display: block;
height: 2000px;
}
`]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9010 次 |
| 最近记录: |