2017-08-02 19 views
5

Vì vậy, tôi cần ở Góc 2 hoặc 4 để quản lý khi tab trình duyệt của ứng dụng của tôi tập trung hay không. Có cách nào để sử dụng window.onfocuswindow.onblur không?Góc 2+ window.onfocus và windows.onblur

Cảm ơn rất nhiều

Trả lời

6

Bạn có thể sử dụng một thành phần có @HostListener.

Cái gì như:

@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 
    } 

} 

Chỉ cần kiểm tra rằng bạn không có nhiều WindowComponent chạy cùng một lúc, bởi vì bạn sẽ có một hành vi bất ngờ, do đó mỗi trường hợp sẽ phản ứng với những sự kiện này.

+0

Cảm ơn bạn đã dành thời gian cho bạn tôi. Tôi có một câu hỏi ... Làm thế nào tôi sử dụng điều này bên trong một thành phần? Tôi cần sử dụng đăng ký? –

+0

Bạn được hoan nghênh, bạn không cần sử dụng đăng ký, góc sẽ loại bỏ trình lắng nghe khi thành phần bị hủy và chức năng 'onFocus' sẽ được kích hoạt khi trình duyệt kích hoạt' window.onfocus', tương tự cho 'blur' . –

+0

Cảm ơn bạn tôi. Điều này hoạt động hoàn hảo –