2017-08-09 156 views
0

我想在Angular中實現一個全局髒檢查器。我們有一個需要配置每個組件的解決方案,但是我希望能夠更加概括它。在Angular中查詢當前活動的組件實例

我連接全局代碼,檢查每個活動組件,然後發信號通知用戶是否應該提示。或者至少,我認爲它是這樣做的。我最初的計劃是router.events列入NavigationEnd事件和檢查當前ActivatedRoute,因爲它公開component屬性。但是,該屬性是組件的類型/類,而不是實際的實例。

我還沒有找到公開當前組件實例的API。它存在還是我堅持?

UPDATE

我掙扎的用例是不是路由變化,但是當窗口關閉。當window:beforeunload發生火災時,我沒有辦法詢問組件實例是否髒。

更新2 創建問題:https://github.com/angular/angular/issues/18634

+0

你能實現,而不是廣義'canDeactivate'後衛和後衛分配給每個路線? canDeactivate * does *爲您提供組件的實例。 – DeborahK

+0

是的,我有路線變化。希望'canDeactivateChild'即將實施,並將進一步清理。但是,我目前正在掙扎的是用戶關閉窗口的時間。我沒有在我的問題中澄清這一點,但現在我會更新它。 – pgreen2

+0

這可能需要是一個功能請求,因爲我認爲當時沒有任何東西可以爲您提供。您可以發送請求到:https://github.com/angular/angular/issues – DeborahK

回答

相關問題