私のコンポーネントのいくつかの機能は、ブラウザのサイズに応じてオンまたはオフになるため、サイズ変更イベントでブラウザの幅を確認する必要がありますが、On Initメソッドを使用して行うことはできますが、ブラウザの幅を更新するためにブラウザをリフレッシュする必要があります。角度2でウィンドウのサイズを即座に検出できるのはどうですか?
ngOnInit() {
if (window.innerWidth <= 767){
---- do something
}
}
は、しかし、私はこの方法をOnChanges使用しようとしたが、それは動作しません。どちらか
OnChanges(changes:SimpleChanges){
console.log('width:====>' + changes[window.innerWidth].currentValue);
if (changes[window.innerWidth].currentValue <= 767){
---- do something
}
}
は、これを達成する任意の提案や別の方法はありますか?
これは1つのコンポーネントで機能しますが、別のコンポーネントに追加すると機能しません。私は、onresizeイベントが既に定義されているためだと思います。 – Sam
'onresize'イベントを1回だけウィンドウに登録できます。' onresize'イベントを登録しようとすると、古いイベントは破棄されます。 –
はい、ありがとうございます。私はホストリスナーのソリューションに行きました。複数のサイズ変更イベント(各コンポーネントに1つ)が許可されていました。そして、より角度のある方法で動作しています。 – Sam