首页 > 解决方案 > 在 ionic 中使用存储时需要 1 个参数

问题描述

我尝试在我的 ionic 服务提供商应用程序中使用本地存储,但出现此错误。

[ts] 预期 1 个参数,但得到 0。(别名)新存储(配置:StorageConfig):存储导入存储使用驱动程序的顺序和任何其他配置选项传递给 LocalForage 创建一个新的存储实例。

可能的驱动程序选项是:['sqlite', 'indexeddb', 'websql', 'localstorage'] 并且默认是确切的顺序。

这是我的源代码:

import { Storage } from '@ionic/storage';

@Injectable()
export class MyServiceProvider {
  public local : Storage;
  mydata: any;


  constructor(public http: Http) {
    this.local = new Storage()
  }

  postLogin(data){
    let link = "http://myapi.com/api/login.php";
      return this.http.post(link, data)
        .map(data => {
          this.mydata = data;
          console.log("data")
        }, error =>{
          console.log(error)
        })
  }

}

标签: ionic-frameworkionic2angular-local-storage

解决方案


我不太了解您想对存储做什么,但根据 Ionic Storage docs,您需要注入您的提供程序/组件。

import { Storage } from '@ionic/storage';

export class MyApp {
  constructor(private storage: Storage) { }
}

我建议您使用该提供程序来获取和设置数据,并且您可以在导入提供程序的任何位置调用这些方法。

public setData(nameData: string, valueData: any){
    this.storage.set(nameData, valueData);
}

public getDataValue(nameData: string){
    return this.storage.get(nameData);
}

推荐阅读