vuex:组件中操作state,mutations,actions的方式
程序员文章站
2024-02-27 22:07:57
...
vuex是一个数据管理仓库
官网的图如下:
在组件中操作state,mutations,actions的方式示例如下:
+ store文件的部分代码为:
export default new Vuex.Store({
state:{
num:0,
name:'aa'
},
//同步
mutations:{
setNum(state){
state.num++;
}
}
//异步
actions:{
actSetNum(context){
console.log(context);
setTimeout(()=>{
context.commit('setNum')
},1000)
}
}
})
-
组件中操作state
- 通过this.$store.state
- 通过计算属性
computed: { num1: function () { return this.$store.state.num } }
- 通过辅助函数
import {mapState} from 'vuex' computed:{ ...mapState({ //num2是计算属性名 num2:(state)=>{ return state.num } }) }
-
组件中操作mutations
- 通过this.$store.commit(‘setNum’) //setNum是mutations的函数名
- 通过辅助函数
import {mapMutations} from 'vuex' methods:{ ...mapMutations({ fn2:'setNum' //fn2是点击事件的事件名 }) }
-
组件中操作actions
- 通过this.$store.dispatch(‘actSetNum’) //actSetNum是actions的函数名
- 通过辅助函数
import {mapActions} from 'vuex' methods:{ ...mapActions({ fn3:'actSetNum' //fn2是点击事件的事件名 }) }
推荐阅读
-
vuex:组件中操作state,mutations,actions的方式
-
vuex属性 state、mutations、actions之间的关系
-
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
-
详解vuex 中的 state 在组件中如何监听
-
Vuex中mutations与actions的区别详解
-
父组件中vuex方法更新state,子组件不能及时更新并渲染的解决方法
-
Vuex 在Vue 组件中获得Vuex 状态state的方法
-
详解vuex 中的 state 在组件中如何监听
-
父组件中vuex方法更新state子组件不能及时更新并渲染的完美解决方法
-
父组件中vuex方法更新state,子组件不能及时更新并渲染的解决方法