vue3如何保留数组最后一次获取到的数据,页面刷新不丢失
时间: 2023-06-03 20:05:36 浏览: 461
关于页面刷新vuex数据消失问题解决方案
你可以使用 Vue.js 的生命周期函数 created() 和 mounted(),将数组存储到浏览器的本地存储中,以便刷新页面时可以保留数据。具体实现方式可以参考以下代码:
```
<template>
<div>
<h1 v-for="item in data" :key="item.id">{{ item.name }}</h1>
</div>
</template>
<script>
export default {
data() {
return {
data: [],
};
},
created() {
const localData = localStorage.getItem("data");
if (localData) {
this.data = JSON.parse(localData);
} else {
this.getData();
}
},
mounted() {
window.addEventListener("beforeunload", () => {
localStorage.setItem("data", JSON.stringify(this.data));
});
},
methods: {
getData() {
// 获取数据的方法
},
},
};
</script>
```
在 created() 生命周期函数中,先从本地存储中获取数据。如果本地存储中有数据,则直接使用;否则调用 getData() 方法获取数据。在 mounted() 生命周期函数中,添加一个 beforeunload 事件,当页面关闭或刷新时,将数据存储到本地存储中。这样即可保留数组最后一次获取到的数据,页面刷新也不会丢失。
阅读全文