【发布时间】:2021-06-26 07:36:23
【问题描述】:
我的 Nuxt.js 设置出现了一些奇怪的问题。 Store 中的某些状态不是持久的,每次我加载另一个视图时,它们都会返回默认值。
pages/test.vue
<template>
<section class="section">
<b-container>
<b-row>
<b-col cols=12>
<b-button @click="setTest" variant="dark">test</b-button> | {{this.$store.state.test}} |
</b-col>
</b-row>
</b-container>
</section>
</template>
<script>
export default {
name: 'test',
methods: {
setTest() {
this.$store.commit("setTest")
},
}
}
</script>
store/index.js
export const state = () => ({
test: "test"
})
export const mutations = {
setTest: (state) => state.test = 'Hello'
}
Testscenario 是点击“test”按钮,该按钮使用mutation-commit“setTest”调用方法,将状态设置为“Hello”。目前它工作正常,但如果我更改视图或重新加载页面,状态将设置为默认“测试”。
我做错了什么?
【问题讨论】:
-
如果你 F5 页面,Vuex 商店被“重置”是完全合法的。 “改变观点”是什么意思? vue-router 还是自己修改网址?
-
嘿@kissu :-) 我只需单击导航栏链接即可“更改视图”,例如:
{{ $t(" my_profile") }} 那么它真的重新加载了吗?我使用来自 nuxt.js 的常见内置东西
标签: nuxt.js state vuex store persistent