如何使用 VueJS 在 localStorage 中存储来自 API 的数据

Das*_*rau 2 javascript vue.js vue-component axios vuejs2

我用VueJS练习简单的SPA需要我听一个API并将它的一些数据保存在浏览器的localStorage中,但是我对VueJS的经验仍然不是很丰富,所以我不知道如何获取特定数据并保存将其发送给 LS,以便登录的用户稍后可以查看他们的信息。

API 检索了很多信息,现在我只想获取用户的电子邮件和姓名。

这是到目前为止的代码:

<script>
    import axios from 'axios';
  import jsonpAdapter from 'axios-jsonp';

  export default {
    data() {
      return {
        info: 'placeH',
        data: []
      }
    },
    mounted: function(){
      axios({
        url: 'APIplaceholder'
        adapter: jsonpAdapter
      }).then((res) => {

      });
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

我现在的问题是我不知道如何只选择我想要的特定信息(API 返回很多信息,但我只需要电子邮件和姓名),然后将其保存到 localStorage。

我认为最好的方法是将它保存到 LS 中的 JSON 文件中。

Lak*_*n S 6

localStorage只保留字符串。这意味着localStorage.setItem("apiData", res.data)将字符串存储"[Object object]"在 localStorage 中,而不是res.data对象中。

您必须使用JSON.stringify()JSON.parse()来设置和获取 localStorage 中的项目。

.then((res) => {
     localStorage.setItem("apiData", JSON.stringify(res.data));
});
Run Code Online (Sandbox Code Playgroud)

你可以得到它们,

var data = JSON.parse(localStorage.getItem("apiData"));
Run Code Online (Sandbox Code Playgroud)

然后您可以使用(点)运算符访问数据,例如data.userName

希望能帮助到你。