ionic angular-ui 视图切换禁用缓存

文章参考

http://ngionic.com/2014/12/ionic-javascript-api-ion-nav-view%E5%AF%BC%E8%88%AA%E6%A0%8F%E8%A7%86%E5%9B%BE/

通常情况下,视图都被缓存了能提升性能。当跳出视图时,他的元素被保留在Dom中,并且它的作用于也从 $watch 中移除。当我们跳到一个已经被缓存了的视图,视图会被激活,它的作用于被重新连接上,Dom中也保存了他的元素。这也允许保持以前的视图滚动位置。

问题:

page1从服务器获取用户的手机号码,进入page2修改用户的手机号码,回退到page1页面,显示用户手机号码是修改之前的?

原因:

是因为angular-ui缓存,回退到上一个页面的时候展现出来的是缓存之前的数据,导致显示的数据不准确。

解决办法:

禁用缓存

解决方法一:

$stateProvider.state('myState', {
   cache: false,
   url : '/myUrl',
   templateUrl : 'my-template.html'
})

解决方法二:

angular.module("hkApp", ["ionic"])
.config(function ($stateProvider, $ionicConfigProvider) {
	//禁用所有缓存
	$ionicConfigProvider.views.maxCache(0)
});

解决办法三:

<ion-view cache-view="false" view-title="My Title!">
  ...
</ion-view>