【发布时间】:2022-01-01 10:21:45
【问题描述】:
这段代码可以运行,但我是 Vue.js 的新手,我不禁认为有一种更简洁的方法。
我特别指的是在您访问(或重新加载)的第一页时设置数据并更新(商店状态)的部分。我有一个商店,它会在网站加载时从后端获取数据,但这可能很明显。
当我从watch 和mounted 拨打this.getTodo(); 时,我只是觉得我在重复自己。
<template>
<div>
<h2>Details Page</h2>
{{ title }}
{{ content }}
{{ lastEditTime }}
</div>
</template>
<script>
export default {
data() {
return {
title: '',
content: '',
lastEditTime: ''
}
},
methods: {
getTodo () {
if (this.$store.state.list.length > 0) {
const id = this.$route.params.id;
const todoItem = this.$store.getters.getItem(id);
Object.assign(this, todoItem);
}
}
},
watch: {
'$store.state.list': {
handler() {
this.getTodo();
}
}
},
mounted () {
this.getTodo();
}
}
</script>
【问题讨论】:
标签: reactjs state vuejs3 store use-effect