2016-11-17 16 views
9

解決策を探していましたが、何も見つかりませんでした((window:resize)に関する記事のみですが、探していません)。要素の高さと幅の変化を角2で検出

Angular 2で要素サイズの変更を検出する方法はありますか?

<div #myElement (sizeChanged)="callback()" /> 

私はいくつかのCSSアニメーションを使用して、要素のheightwidth変更を検出します。

+0

あなたはそれを解決しましたか?私も同じことが欲しいから。 – Pranjal

答えて

7

問題は角度2の問題でさえありません。より一般的には、window以外の要素のサイズ変更をどのように検出しますか? onresizeイベントがありますが、これはwindowでのみトリガーされ、その他の明白な解決策はありません。

多くの人がこれにアプローチする一般的な方法は、例えば100msの間隔を設定して、divの幅と高さをチェックして変更を検出することです。恐ろしいほど、これは最も一般的なアプローチです。

this answerより一般的な質問には、イベントのみを使用してこれを行うライブラリがあります:http://marcj.github.io/css-element-queries/。おそらく、それはかなり良いです。あなたはあなたが探しているものを得るためにResizeSensorを使用します。

もちろん、ウィンドウが開いているときにdivのサイズを変更することが必要な場合を除きます。その後、あなたが探しているのはonresizeです。

関連する問題