首页 > 解决方案 > '@ionic/storage-angular',数据在刷新后被删除

问题描述

我在我的 ionic 中使用 angular,并且我已经根据此文档遵循了所有内容,所以我使用“@ionic/storage-angular”,但我的问题是当我刷新时,数据被删除。下面是我的代码。

//app.module

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { RouteReuseStrategy } from '@angular/router';
import { IonicModule, IonicRouteStrategy } from '@ionic/angular';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { HttpClientModule } from '@angular/common/http';
import { IonicStorageModule } from '@ionic/storage-angular';

@NgModule({
  declarations: [AppComponent],
  entryComponents: [],
  imports: [
    BrowserModule,
    IonicModule.forRoot(),
    IonicStorageModule.forRoot(),
    AppRoutingModule,
    FormsModule,
    ReactiveFormsModule,
    HttpClientModule
  ],
  providers: [
    {
      provide: RouteReuseStrategy,
      useClass: IonicRouteStrategy,
    },
  ],
  bootstrap: [AppComponent]
})
export class AppModule {}

//存储.服务

import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage-angular';

@Injectable({
    providedIn: 'root'
 })
export class StorageService {
    private _storage: Storage | null = null;
    constructor(private storage: Storage){
       this.init();
    }
    async init() {
        // https://github.com/ionic-team/ionic-storage
        // If using, define drivers here: await this.storage.defineDriver(/*...*/);
        const storage = await this.storage.create();
        this._storage = storage;
     }
    public set(key: string, value: any) {
        this._storage?.set(key, value);
    }
    public get(key){
        return this._storage?.get(key);
    }
    public clear(){
        this._storage.clear();
    }
}

//这就是我使用服务的方式

await this.storageService.set('loginUser',{id: user.id,userName: user.first_name});

标签: ionic-framework

解决方案


推荐阅读