最简洁的方式是恕我直言
[class.red]="isRed"
更新
问题的原因function
在于
$(document).scroll(function(){
它应该使用箭头功能
$(document).scroll(() => {
否则this
回调内不会指向当前类,而是指向调用者.
我建议你尽量避免使用Angular2进行jQuery.请改用
class MyComponent { constructor(private elRef:ElementRef) {} isRed:boolean; @HostListener('document:scroll', ['$event']) onScroll(event:any) { var scrollTop = this.elRef.nativeElement.scrollTop; // or $(this.elRef.nativeElement).scrollTop(); if(window.location.hash) { } else{ this.isRed = true; } if(scrollTop > 50) { this.isRed = true; } else { this.isRed = false; } } }