一、了解localStorage
1. 存储:localStorage.setItem(key,value); 如果key存在时,更新value
2. 获取:localStorage.getItem(key); 如果key不存在返回null
3. 删除:localStorage.removeItem(key); 一旦删除,key对应的数据将会全部删除
4. 全部清除:localStorage.clear(); 某些时候使用removeItem逐个删除太麻烦,可以使用clear,执行的后果是会清除所有localStorage对象保存的数据
二、在ng2中使用
https://blog.csdn.net/weixin_39461487/article/details/78969611 (来源)
. 在 app.modules.ts中引入LoginPage
import { LoginPage } from '../pages/login/login';
LocalStorage 的数据是没有过期时间的,只要它没有被删除,就会永久地储存在 Storage 中。如果你希望数据在一定时间内失效,可以使用 SessionStorage 来替代。
LocalStorage 和 SessionStorage 的存储空间只有 5MB,请不要存储大量的数据。
登录时保存:
window.localStorage.setItem('username',username.value);//保存登录时数据
录时setroot原有的页面已经被回收掉了
this.navCtrl.setRoot(TabsPage);/
首页获取
ionViewWillEnter(){
this.username= window.localStorage.getItem('username');}
浏览器的每次刷新都要重新登录。这时,就需要修改在此修改 app.component.ts 添加一个钩子:判断 Storage 中存在 username 与否,定义不同的 rootPage ,再刷新页面可以发现,APP 直接进入首页了。
export class MyApp {
rootPage:any;
constructor(platform: Platform, statusBar: StatusBar, splashScreen: SplashScreen) {
if(window.localStorage.getItem('username')) {
this.rootPage = TabsPage;
} else {
this.rootPage = LoginPage;
}
platform.ready().then(() => {
...
});
或者
我们可以通过来设置并保存isLogin的值
this.local = new Storage(LocalStorage);
this.local.set('isLogin', false);
并且通过:来获取isLogin的值
this.local.get('isLogin');
退出登录
logout() {
window.localStorage.removeItem('username'); this.navCtrl.setRoot(LoginPage);}