【发布时间】:2021-12-17 05:53:48
【问题描述】:
我正在尝试使用 vue.js 制作一个简单的应用程序,我想尝试保存我在数组中设置的待办事项,以便在我重置站点时它们仍然存在。浏览了一些我得到的文档:
data() {
return {
array: [
{id: 1, label: 'learn vuejs'},
]
}
},
methods: {
persist() {
localStorage.array = this.array;
alert('items saved')
}
},
mounted() {
if (localStorage.array && localStorage.array.id) {
this.array = localStorage.array;
this.array[id] = localStorage.array.id;
}
},
虽然这确实将我的数组保存到 localStorage,但它不是其中的对象。当我在控制台中检查 localStorage 时,它显示:
数组:“[对象对象]”
有人知道如何保存数组中的项目吗?如果你这样做,请给我解释一下。
【问题讨论】:
-
如果您将保存的对象打印到控制台,将使用默认的
toString方法。这不适用于嵌套对象。试试JSON.stringify(obj) -
另外,您将无法使用
localStorage.array.id访问您的阵列。由于“数组”不是对象,因此不会有id属性。只有localStorage.array[0].id可以工作,因为您必须告诉 javascript 您要访问数组的哪个索引(在这种情况下为对象)。
标签: javascript arrays vue.js vuejs3