サーチ…


ウィンドウのサイズ変更イベントをリスンするコンポーネント。

あるウィンドウの幅に隠れるコンポーネントがあるとします。

import { Component } from '@angular/core';

@Component({
  ...
  template: `
    <div>
      <p [hidden]="!visible" (window:resize)="onResize($event)" >Now you see me...</p>
      <p>now you dont!</p>
    </div>
  `
  ...
})
export class MyComponent {
  visible: boolean = false;
  breakpoint: number = 768;

  constructor() {
  }
  
  onResize(event) {
    const w = event.target.innerWidth;
    if (w >= this.breakpoint) {
      this.visible = true;
    } else {
      // whenever the window is less than 768, hide this component.
      this.visible = false;
    }
  }
}

visibleがfalseのときは、テンプレートのpタグが非visibleになります。 visibleは、 onResizeイベントハンドラが呼び出されるたびに値を変更します。その呼び出しはwindow:resizeごとに発生しwindow:resizeはイベントを発生させます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow