使用开发工具,我对Ionic 1应用程序进行了剖析(角度为1. *),我看到它有很多独立DOM导致性能下降和记忆力增长。
我做了剖析&看到它导致了脱离dom的增加。谷歌搜索后,我发现我们需要使用$ destroy&清理物品。我有很多自定义指令&控制器。
我将它用于自定义指令
# in one cell
p = figure(**opts)
r = p2.circle([1,2,3], [4,5,6])
h = show(p)
# in a different cell
r.glyph.fill_color = "white"
push_notebook(handle=h)
如何从控制器中删除DOM或范围元素,我知道它的类似代码,但只是指令中的 elem ;我们如何访问控制器中的DOM元素以进行销毁。
答案 0 :(得分:0)
我认为你实际看到的是离子的默认行为,因为它的caching机制。
默认情况下,会缓存视图以提高性能。当视图是 导航离开,其元素保留在DOM中,其范围是 与$ watch循环断开连接。导航到视图时 已经缓存,然后重新连接其范围和现有范围 留在DOM中的元素成为活动视图。这也是 允许维护以前视图的滚动位置。
如果要为每个视图禁用它,可以设置<ion-view cache-view="false">
属性。您也可以通过$ionicConfigProvider.views.maxCache(0);
全身心投入。