【问题标题】:Vuex / state management not working on Nuxt with routing historyVuex /状态管理不适用于具有路由历史记录的Nuxt
【发布时间】:2018-12-14 02:30:24
【问题描述】:

我有一个内置于 Nuxt 的 vue 应用程序,它启用了 vue 路由/历史记录。

问题是当我将某些内容保存到应用程序状态/Vuex 时,它会在单个页面上正常更改,但是当我导航到新页面时,它已被清除并将状态返回为其默认值。

我是否必须做一些事情才能使 vuex 中的状态管理在不同的页面上工作?

存储/index.js

import Vuex from "vuex"

const createStore = () => {
  return new Vuex.Store({
    state: {
      count: 10,
      username: "John Smith",
      loggedIn: false
    },
    mutations: {
      loginStatus(state, status) {
        state.loggedIn = status
      },
      setUsername(state, name) {
        state.username = name
      }
    }
  })
}

export default createStore

来自 vue 应用的代码

 this.$store.commit("loginStatus", true)
 this.$store.commit("setUsername", "Adam")

【问题讨论】:

  • 你使用 nuxt-link/router-link 导航吗?
  • 是的,nuxt-link 贯穿始终
  • 不应该发生。 vuex persistedstate 仅用于全页重新加载

标签: vue.js vuex nuxt.js


【解决方案1】:

我已将https://www.npmjs.com/package/vuex-persistedstate 添加到项目中,它似乎已经解决了问题,但如果有更简单的方法,请告诉我。

【讨论】:

    猜你喜欢
    • 2018-01-17
    • 1970-01-01
    • 2021-02-12
    • 2020-06-14
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 2020-10-08
    • 1970-01-01
    相关资源
    最近更新 更多