$ ionicView.enter和cache:false之间有什么区别?

Fel*_*ipe 10 javascript angularjs ionic-framework ionic

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

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

Rad*_*ler 13

我非常喜欢这个问答:

ui.router不重新加载控制器

比拼班达里很好地总结了选择,我们有离子缓存机制

  1. 避免缓存 cache: false,
  2. 禁用缓存$ionicConfigProvider.views.maxCache(0);
  3. 或者按原样保持缓存,让控制器只执行一次......同时在这些View LifeCycle和Events中做一些聪明的事情

因此,在缓存到位后,控制器将只执行一次:

缓存视图以提高性能.当视图被导航离开时,其元素将保留在DOM中,并且其范围与$ watch循环断开连接.导航到已缓存的视图时,其范围将重新连接,并且留在DOM中的现有元素将再次变为活动状态.

我们可以挂钩这些事件...用这个控制器做一些"总是东西"


aor*_*vre 9

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

cache:false 表示页面永远不会被缓存,因此每次都会重新加载.

我个人试图避免使用缓存假,因为它表现不好但有副作用,因为当你重新使用它时你的控制器不会再次初始化.

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