$ionicView.enter和cache:false之间的区别是什么

What is the difference between $ionicView.enter and cache:false

本文关键字:之间 区别 是什么 false ionicView enter cache      更新时间:2023-09-26

我正在开发一个视图,每次打开该视图时都需要调用Web服务的多个方法,我应该使用$scope.$on('$ionicView.enter', function(){...})还是cache:false

每一个之间的真正区别是什么?

我真的很喜欢这个问答;A:

ui.router未重新加载控制器

Bipin Bhandari很好地总结了我们使用离子缓存机制的选项

  1. 避免CCD_ 3缓存
  2. 使用$ionicConfigProvider.views.maxCache(0)禁用缓存
  3. 或者保持缓存原样,并让控制器只执行一次。。。在查看生命周期和事件期间做一些明智的事情

所以,有了缓存,控制器将只执行一次:

缓存视图以提高性能。当一个视图被导航离开时,它的元素留在DOM中,并且它的作用域与$watch循环断开连接。当导航到已经缓存的视图时,其作用域将重新连接,并且留在DOM中的现有元素将再次变为活动元素。

我们可以抓住这些事件。。。用这个控制器做一些"总是做的事情"

$ionicView.enter是每次激活所选视图时广播的事件。

cache:false意味着页面永远不会被缓存,因此每次都会被完全重新加载。

我个人尽量避免使用缓存错误,因为这是糟糕的性能,但也有副作用,因为当你重新使用它时,你的控制器不会再次初始化。

相反,当我进入一个视图时,我使用$ionicView.enter$ionicView.afterEnter来触发页面的几个操作,以完成加载。