nuxt monted中获取store值 为空,怎么解决

如果你在Nuxt.js中使用vuex作为数据存储,然后在nuxt组件里获取store的值为空,可能是因为没有正确配置和使用vuex

以下是在Nuxt.js中正确配置和使用vuex的步骤:

  1. 在Nuxt.js项目的根目录创建一个store文件夹。

  2. store文件夹中创建一个index.js文件,这将是vuex的入口文件。在此文件中,你需要导入vuex模块并创建store实例。

// store/index.js

import Vuex from 'vuex'

const store = () => {
  return new Vuex.Store({
    state: {
      // 这里是你的数据
      value: 'Hello World'
    },
    mutations: {
      // 这里是你修改数据的方法
      updateValue(state, payload) {
        state.value = payload
      }
    },
    actions: {
      // 这里是你异步修改数据的方法
    },
    getters: {
      // 这里是你从store中获取值的方法
      getValue(state) {
        return state.value
      }
    }
  })
}

export default store
  1. nuxt组件中的script标签中,通过mapStatemapGetters等辅助函数来获取store中的值。
// your-component.vue

<script>
import { mapState, mapGetters } from 'vuex'

export default {
  computed: {
    // 通过 mapState 辅助函数获取 store 中的值
    ...mapState(['value']),
    
    // 通过 mapGetters 辅助函数获取 store 中的值
    ...mapGetters(['getValue'])
  },
  mounted() {
    // 访问 store 中的值
    console.log(this.value)
    console.log(this.getValue)
  }
}
</script>

这样配置和使用vuex后,你应该能够成功获取和使用store中的值了。如果在nuxt组件里获取store的值仍然为空,请确保你已经正确配置和启动了vuex模块,并且在需要获取值的组件中正确使用了mapStatemapGetters辅助函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值