我是Ionic的移动应用程序开发新手.在登录和注销时,我需要重新加载页面,以便刷新数据,然而,$state.go('mainPage')在不重新加载的情况下将用户带回视图 - 从不调用其后面的控制器.
有没有办法在Ionic中清除历史并重新加载状态?
我目前正在开发一个Angular/Ionic/Cordova项目,我们最近升级到了最新的Ionic beta.从项目之前使用的版本开始,这引入了视图缓存.然而,它也引入了一个问题.
该应用程序面向客户,是以数据为中心的.但是,用户必须进行身份验证才能查看与其帐户关联的数据; 当用户注销并登录到另一个帐户时,由于视图仍然被缓存,因此会显示最后一个帐户的视图.
应用程序仍应在用户登录时缓存视图,因为它有助于使应用程序感觉更快,但应在用户注销时清除缓存.
设置cache-view="false"不是一个选项,因为它会完全禁用缓存.
我也尝试过设置$ionicConfig.views.maxCache(0);,然后回到默认值10,希望它会在这样做时清除缓存,但它没有效果.
我能想到的最后一件事就是在用户登录时触发一个事件,刷新当前加载到视图中的所有数据 - 但是,这需要比我认为应该花费更多的精力.
有没有办法简单地清除视图缓存?
嗨我有离子登录和注销的问题.
每次注销后,我仍然可以单击后退按钮,它将返回到我的上一页.我可以知道如何在注销时清除或删除会话,以便用户无法从登录返回上一页吗?
var default_stat;
$scope.logout = function(){
$ionicLoading.show({template:'Logging out....'});
$localstorage.set('loggin_state', '');
$state.go('login');
$ionicLoading.hide();
$ionicHistory.clearHistory();
$ionicHistory.clearCache();
};
Run Code Online (Sandbox Code Playgroud)
在登录期间,我使用localstorage来指示用户已登录
$localstorage.set('loggin_state', '1');
Run Code Online (Sandbox Code Playgroud)