2017-08-02 12 views
5

私のアプリケーションのブラウザタブがフォーカスされているかどうかを管理するには、角度2または4が必要です。 window.onfocuswindow.onblurを使用する方法はありますか?角度2+ window.onfocusとwindows.onblur

どうもありがとう

答えて

6

あなたは@HostListenerでコンポーネントを使用することができます。以下のような

何か:あなたが予期しない動作がありますので

@Component({}) 
export class WindowComponent { 

constructor(){} 

    @HostListener('window:focus', ['$event']) 
    onFocus(event: any): void { 
     // Do something 
    } 

    @HostListener('window:blur', ['$event']) 
    onBlur(event: any): void { 
     // Do something 
    } 

} 

ただ、各インスタンスは、これらのイベントに反応することにより、あなたが同時に実行されている複数のWindowComponentを持っていないことを確認してください。

+0

お時間をいただきありがとうございます。私は質問を...私はコンポーネントの内部でこれをどのように使用するのですか?私はサブスクリプションを使用する必要がありますか? –

+0

あなたは歓迎ですが、サブスクリプションを使う必要はありません。コンポーネントが破棄されたときにangleがリスナーを削除し、ブラウザーが 'window.onfocus'をトリガーするときに' onFocus'関数がトリガーされます。 。 –

+0

私の友人に感謝します。これは完全に動作します –