我们如何在控制器中删除Detached DOM&指示?

时间:2016-08-18 13:52:34

标签: angularjs angularjs-directive ionic-framework

使用开发工具,我对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元素以进行销毁。

1 个答案:

答案 0 :(得分:0)

我认为你实际看到的是离子的默认行为,因为它的caching机制。

  

默认情况下,会缓存视图以提高性能。当视图是   导航离开,其元素保留在DOM中,其范围是   与$ watch循环断开连接。导航到视图时   已经缓存,然后重新连接其范围和现有范围   留在DOM中的元素成为活动视图。这也是   允许维护以前视图的滚动位置。

如果要为每个视图禁用它,可以设置<ion-view cache-view="false">属性。您也可以通过$ionicConfigProvider.views.maxCache(0);全身心投入。