可以通过使用Angular的内置服务HostListener
和Window
来实现。
首先,在组件中引入HostListener
和Window
:
import { Component, HostListener, Inject } from '@angular/core';
import { WINDOW } from '@ng-web-apis/common';
@Component({
selector: 'app-my-component',
template: `
<p>窗口宽度: {{ windowWidth }}</p>
<p>窗口高度: {{ windowHeight }}</p>
`,
})
export class MyComponent {
windowWidth: number;
windowHeight: number;
constructor(@Inject(WINDOW) private window: Window) {}
@HostListener('window:resize')
onWindowResize() {
this.windowWidth = this.window.innerWidth;
this.windowHeight = this.window.innerHeight;
}
}
然后,在模块中提供WINDOW
:
import { NgModule } from '@angular/core';
import { WINDOW_PROVIDERS } from '@ng-web-apis/common';
@NgModule({
providers: [WINDOW_PROVIDERS],
})
export class AppModule {}
现在,当窗口大小改变时,onWindowResize
方法会被调用,更新windowWidth
和windowHeight
的值。这样,你就可以在模板中访问这些窗口属性了。
关于这个问题,腾讯云没有特定的产品或链接地址与之相关。
领取专属 10元无门槛券
手把手带您无忧上云