我想在Angular中實現一個全局髒檢查器。我們有一個需要配置每個組件的解決方案,但是我希望能夠更加概括它。在Angular中查詢當前活動的組件實例
我連接全局代碼,檢查每個活動組件,然後發信號通知用戶是否應該提示。或者至少,我認爲它是這樣做的。我最初的計劃是router.events
列入NavigationEnd
事件和檢查當前ActivatedRoute
,因爲它公開component
屬性。但是,該屬性是組件的類型/類,而不是實際的實例。
我還沒有找到公開當前組件實例的API。它存在還是我堅持?
UPDATE
我掙扎的用例是不是路由變化,但是當窗口關閉。當window:beforeunload
發生火災時,我沒有辦法詢問組件實例是否髒。
更新2 創建問題:https://github.com/angular/angular/issues/18634
你能實現,而不是廣義'canDeactivate'後衛和後衛分配給每個路線? canDeactivate * does *爲您提供組件的實例。 – DeborahK
是的,我有路線變化。希望'canDeactivateChild'即將實施,並將進一步清理。但是,我目前正在掙扎的是用戶關閉窗口的時間。我沒有在我的問題中澄清這一點,但現在我會更新它。 – pgreen2
這可能需要是一個功能請求,因爲我認爲當時沒有任何東西可以爲您提供。您可以發送請求到:https://github.com/angular/angular/issues – DeborahK