总结vue+vuex store.js设置全局变量问题

按照网上文件我创建了一个store文件进行用户信息存储,但是,在main.js引用后,终端提示警告,‘export’ XXX was not found,页面也加载不出来,也会报错TypeError: Object(...) is not a function。

通过查阅各方回答以及亲身试验,发现这个方法可以解决:

安装vuex 启动 报错 “export ‘watch‘ was not found in ‘vue‘

也就是vue和vuex版本不匹配问题。

如果vue版本是 2.X ,那么vuex用 3.X.X 适合

如果vue版本是 3.X ,将vuex升到 4.X.X 就能够解决
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vuex.Store可以设置项目共享变量。Vuex.StoreVue.js官方推荐的状态管理工具,可以用来管理全局状态。你可以在Vuex.Store定义一个state,将变量存储到state,然后在组件通过this.$store.state来访问这个共享变量。具体的实现步骤如下: 1. 创建一个Vuex.Store实例,并定义一个state。例如,你可以在`store.js`创建一个名为`shared`的state,代码如下: ```javascript import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { shared: { count: 0 } }, mutations: { increment(state) { state.shared.count++ } } }) export default store ``` 在这个例子,我们在state定义了一个名为`shared`的对象,其包含一个名为`count`的变量,初始值为0。我们还定义了一个名为`increment`的mutation,用于将`count`变量加1。 2. 在组件使用共享变量。你可以在任何Vue组件使用`this.$store.state.shared.count`来访问这个共享变量。例如,在一个组件,你可以这样使用这个共享变量: ```javascript <template> <div> <p>Count: {{ count }}</p> <button @click="incrementCount">Increment</button> </div> </template> <script> export default { computed: { count() { return this.$store.state.shared.count } }, methods: { incrementCount() { this.$store.commit('increment') } } } </script> ``` 在这个例子,我们使用了`computed`属性来计算`count`变量,使用`this.$store.state.shared.count`来获取共享变量的值。我们还定义了一个`incrementCount`方法,用于调用`increment`mutation来更新共享变量的值。 现在你就可以在任何Vue组件使用共享变量了,它将在整个项目共享。注意,在使用时要注意共享变量的生命周期问题,确保它的数据在需要的时候被正确地初始化和清理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值