我一直在使用POCing聚合物與Redux和Polymer(2.0)入門工具包結合使用,其中介紹了iron-pages
組件,以及其中包含的頁面的延遲加載。卸載聚合物頁面
但是,我注意到它們實際上不是頁面,而更像是一個老式的tab bar,其中所有內容都被加載到DOM中,但是使用CSS隱藏。調用connectedCallback()
生命週期方法,但disconnectedCallback()
不是因爲組件從未卸載。
這感覺就像一個內存和性能泄漏給我。我們將要實現的一個用例是通過websockets進行的頻繁更新的數據;我想避免的是它在後臺更新。對於桌面,我認爲它會很好,但對於移動設備來說,它對性能來說會很糟糕。
其次,我寧願不必實施手動生命週期管理; NIH的氣味。
因此,它歸結爲:聚合物和/或分頁Web組件中是否存在組件卸載或可靠的生命週期回調?
編輯:我看到Unloading Polymer pages也有同樣的問題 - 雖然沒有答案。
編輯2:我看到在iron-pages上也出現了這個問題。
相關:https://stackoverflow.com/questions/38905931/polymer-deactivating-pages-when-their-not-in-view – alesc