. 下载安装 cnpm install vuex -S ;本次下载的版本是 "vuex": "^4.0.2"
2.创建store/index.js
import { createStore } from 'vuex'import http from '@/utils/http.js'// Create a new store instance.const store = createStore({ state () { return { count: 0, user:{} } }, mutations: { increment (state,num) { state.count += num; }, setUser(state,user){ state.user = user; } }, actions:{ getUserInfo(context,params){ return new Promise((resolve,reject)=>{ http.get("/pyapi/test/user",params).then(res=>{ if(res.status == 200){ context.commit("setUser",res.result) resolve(res.result) }else{ reject({}) } }).catch(e=>{ reject(e) }) }) } }})export default store3. 在main.js中
import store from './store/index.js'const App = createApp(App)app.use(store)4.在组件中使用
<template><div class="test"><p>count:{{ count }}<el-button @click="addCount">+2</el-button></p></div><div class="user"><el-button @click="getUserInfo">getUserInfo</el-button><ul><li>name: {{user.name}}</li><li>age: {{user.age}}</li></ul></div></template><script> import $store from '@/store/index.js'import { computed } from 'vue';export default {name: "testCom",setup() {let count = computed(()=>{return $store.state.count})const addCount = ()=>{$store.commit('increment',2) // 同步}let user = computed(()=>{return $store.state.user})const getUserInfo = ()=>{$store.dispatch('getUserInfo', {id:111}); // 异步}return {count,addCount,user,getUserInfo};},};</script><style scoped></style>
【在vue3中使用vuex】
推荐阅读
- 实战总结的7个C程序,好东西不私藏
- 阳台风水:教你正确驱噩运技巧
- 阳台装修风水:需谨记的5大风水问题
- 详解:阳台为什么要整洁清爽?
- 详解:阳台为什么不封闭不好?
- 需万分小心的阳台风水的三宜六忌
- 阳台风水摆件转运的小窍门
- 阳台使用有哪些讲究?
- 阳台改造需要注意什么原则?
- 哪些人不能喝红茶,喝中药能喝的茶有哪些功效与作用吗
