如何在本地存储中存储一个数组?

How to store an array in localStorage?

我有一个数据属性

 data() {
    return {
        playWord: [],
        baseWord: "",
        result: [],

    }
},

并响应

   baseWord:"Amazing"

我每次在 api 中发送新请求时都会更改基词。 我想将每个数据存储在本地存储中并将字符串值发送到 axios post 方法。

我的post方法在这里,

 methods: {
    name() {
        var name = localStorage.getItem("userName");
        console.log(name);
    },

    async playInfo() {
        this.$axios.post('user_play_info ', {
                words: "test",
                score: "5",
                user_name: localStorage.getItem('userName'),

            })
            .then(function (response) {
                console.log(response);
            })
            .catch(function (error) {
                console.log(error);
            });
    }
},

我一直在努力localstorage.setitem

 const testObject = this.baseWord
    console.log(testObject);

    localStorage.setItem('testObject', JSON.stringify(testObject));

    var retrievedObject = localStorage.getItem('testObject');

    console.log(retrievedObject);

如何将数据存储在数组中?并通过 api 响应发送 sting 值。

这是一个完整的示例,说明如何使用 API + 在 Nuxt

中正确使用 localStorage
<template>
  <div>
    <button @click="cleanPlaylist">Clean the playlist</button>

    <p>Items</p>
    <ul v-for="user in users" :key="user.id">
      <li>
        <span>{{ user.name }}</span> ~
        <span>{{ user.email }}</span>
        <button @click="saveToLocalStorage(user)">Save this user</button>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      users: [],
    }
  },
  async fetch() {
    const response = await fetch('https://jsonplaceholder.typicode.com/users')
    const json = await response.json()
    console.log('json', json)
    this.users = json
  },
  methods: {
    saveToLocalStorage(user) {
      if (localStorage.getItem('playlist')?.length) {
        const currentUsers = JSON.parse(localStorage.getItem('playlist'))
        console.log('current users', currentUsers)
        const newData = [...currentUsers, user]
        localStorage.setItem('playlist', JSON.stringify(newData))
      } else {
        localStorage.setItem('playlist', JSON.stringify([user]))
      }
    },
    cleanPlaylist() {
      localStorage.removeItem('playlist')
    },
  },
}
</script>

一个codesandbox可以是found here

您应该有大量的示例代码 + 有一些 console.log 可以理解正在发生的事情。当然,推荐使用浏览器开发工具(Application 选项卡)。