如何使用 global-store

How to use global-store

提问人:Amr 提问时间:9/22/2023 最后编辑:Mohammad RoshaniAmr 更新时间:9/22/2023 访问量:39

问:

我正在使用vue3options api

我正在学习如何使用我参考的官方网站,并在论坛上阅读了一些帖子。 如以下链接中的代码所示:global-storevue

链接到 StackBiltz

我创建为可组合的,但我收到此错误StoreMajorEnableState.vue

app.js:191 Uncaught TypeError: Cannot read properties of undefined (reading '__vccOpts')
at exports.default (exportHelper.js:6:1)
at eval (StoreMajorEnableState.vue:5:1)
at ./src/store/StoreMajorEnableState.vue (app.js:99:1)
at __webpack_require__ (app.js:188:33)
at fn (app.js:422:21)
at eval (index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/HelloWorld.vue?vue&type=script&lang=js:2:90)
at ./node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./src/components/HelloWorld.vue?vue&type=script&lang=js (app.js:29:1)
at __webpack_require__ (app.js:188:33)
at fn (app.js:422:21)
at eval (HelloWorld.vue?vue&type=script&lang=js:5:213)

我不知道如何解决它 请帮我解决这个错误,请告诉我如何正确使用globla-store

vue.js vuejs2 vuejs3 vue-组件 可组合

评论

0赞 Estus Flask 9/22/2023
请将相关代码添加到问题本身,即使外部链接不可用,它也需要是可理解的。除了组件之外,您不应该将 .vue 用于任何内容。这是常规的JS脚本,它转到.js或.ts。Store getter 可以是响应式的,但它们需要使用响应式 api。getters.getMajorEnableState 需要由 watch() 或 computed() 调用才能响应
0赞 Amr 9/22/2023
@EstusFlask我创建了这个例子:stackblitz.com/edit/...你能告诉我如何使商店的吸气器反应灵敏吗?
0赞 Amr 9/22/2023
@EstusFlask参考我在上一条消息中发送的 stackbiltz 链接,在 App.vue 中我添加了以下内容: watch: { 'storeMajorEnableState_.state'(newVal, oldVal) { console.log('watch storeMajorEnableState_.newVal:', newVal) console.log('watch storeMajorEnableState_.oldVal:', oldVal) }, },但仍然不是反应性的
1赞 Estus Flask 9/22/2023
getMajorEnableState 是一个函数,所以它应该在 created() 钩子内。或者在创建存储时最好将 computed() 用于 getterthis.$watch(this.storeMajorEnableState_.getters.getMajorEnableState, () => ...)
1赞 Estus Flask 9/22/2023
是的。您已经在商店中使用 reactive()。没关系,Vue 3 在引擎盖下到处都使用组合,选项语法有一座桥梁

答: 暂无答案