出于某种原因,我可以将此代码用于Chrome,但没有找到Safari和IE的解决方案。我还没有尝试过Firefox。我的项目正在使用打字稿编译器。
constructor(){
this.eventStream = Observable.fromEvent(window,'resize');
this.eventStream.subscribe((event) => this.updateWindow(event));
}
ngOnInit(){
this.updateWindow();
}
updateWindow(event:any){
this.updateHeight = window.innerHeight;
}
答案 0 :(得分:3)
你的代码在Firefox中运行,但在Safari和IE中却没有,它看起来很奇怪。我的猜测是zone.js对此负责。更改了您的示例以通过区域调用更新:
constructor(zone:NgZone)
{
this.eventStream = Observable.fromEvent(window,'resize');
this.eventStream.subscribe((event) => {zone.run(()=> {this.updateWindow(event)}) });
}
现在它适用于Safari plunkr