Nav*_*med 7 angular2-template angular2-services angular
我想知道Angular 2提供了一种确定客户端设备(大屏幕,中等或小屏幕)的方法,或者可能是屏幕宽度,基本上可以显示或隐藏某些内容(从dom中删除).
HostListener
一种方法是使用HostListener装饰器.当host元素发出指定的事件时,将调用trim方法.
@HostListener('window:resize', ['$event'])
onResize(event) {
this.width = event.target.innerWidth;
this.height = event.target.innerHeight;
}
Run Code Online (Sandbox Code Playgroud)
通过ngZone
另一种方法是将ngZone导入组件.然后你可以NgZone用来检查onresize事件.
constructor(ngZone:NgZone) {
window.onresize = (e) => {
ngZone.run(() => {
this.width = window.innerWidth;
this.height = window.innerHeight;
});
};
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用该[hidden]属性隐藏内容取决于您的宽度或高度值.
没有必要使用NgZone.有更简单的方法来捕获调整大小窗口事件.
@HostListener('window:resize', ['$event'])
onResize(event) {
const target = event.target;
this.width = target.innerWidth;
this.height = target.innerHeight;
}
Run Code Online (Sandbox Code Playgroud)
或者如果你想从HTML中使用if
<div (window:resize)="onResize($event)"
onResize(event) {
event.target.innerWidth;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5724 次 |
| 最近记录: |