我一直在使用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