【问题标题】:ionic2 local storage getionic2 本地存储获取
【发布时间】:2018-10-12 04:24:29
【问题描述】:

我刚开始使用 ionic2,在我的应用中我要求用户存储一个 apiKey 和密码。

当存储在本地存储中时,它工作正常,但尝试使用存储值时我遇到了麻烦。

// Storing user apikey config
saveAPISettings(apiConfig) {
  let apiSettings = { apiKey: apiConfig.apiKey, apiKeySecret: apiConfig.apiKeySecret};
  this.storage.set('api-settings', JSON.stringify(apiSettings));
}

// Stored value
"api-settings": "{"apiKey":"2b749127b41927b491274b924927b412","apiKeySecret":"QEWIRP"}" 


// Getting stored apikey config
getSettings(key) {
  let results = [];
  let object;

  this.storage.get(key).then((val) => {
    object = JSON.parse(val);
    results['apiKey'] = object.apiKey;
    results['apiKeySecret'] = object.apiKeySecret;
  });
  return results;
}

 // getSettings usage
 let config = getSettings('api-settings');

 // getting undefined
 console.log(config.apiKey);
 or 
 console.log(config['apiKey']);

我在这里做错了什么?

【问题讨论】:

    标签: angular ionic2 local-storage


    【解决方案1】:

    无需字符串化您的对象 apiSettings 只需另存为对象

    this.storage.set('api-settings', apiSettings);
    

    Storage.get 将解决一个承诺,只是返回 getSettings 中的存储

    getSettings(key) {
      return this.storage.get(key)
    }
    

    在您的设置页面中

     getSettings('api-settings').then(val=>{
       console.log(val.apiKey);
       console.log(val.apiKeySecret);
    });
    

    【讨论】:

    • 感谢回复,已试用。但是在两个 console.logs 上都没有定义。
    • 我的错,它的工作我忘了更新 apikey。谢谢你,你节省了一天:)
    猜你喜欢
    • 2017-08-07
    • 1970-01-01
    • 2017-11-07
    • 2018-03-04
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    相关资源
    最近更新 更多