我正在开发一个视图,每次打开视图时都需要调用webservice的multiples方法,我应该使用$scope.$on('$ionicView.enter', function(){...})
还是cache:false
?
每个人之间真正的区别是什么?
答案 0 :(得分:13)
我非常喜欢这个Q&答:
Bipin Bhandari很好地总结了我们对离子缓存机制的选择
cache: false
,$ionicConfigProvider.views.maxCache(0)
; 因此,在缓存到位后,控制器将只执行一次:
缓存视图以提高性能。当视图被导航离开时,其元素将保留在DOM中,并且其范围与$ watch循环断开连接。导航到已缓存的视图时,其范围将重新连接,并且留在DOM中的现有元素将再次变为活动状态。
我们可以挂钩这些事件......做一些"总是东西"使用此控制器
答案 1 :(得分:9)
$ionicView.enter
是每次激活所选视图时广播的事件。
cache:false
表示页面永远不会被缓存,因此每次都会重新加载。
我个人试图避免使用缓存假,因为它表现不好但有副作用,因为你的控制器在你重新开始时不会再次初始化。
相反,当我输入一个视图时,我用户$ionicView.enter
或$ionicView.afterEnter
触发多个动作,以便页面完全加载。