vuex基础用法

2022/3/2 23:17:20

本文主要是介绍vuex基础用法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

state 存放全局数据
this.$store.state.***
this.$store.commit('addFn',参数)
this.$store.dispath('addAsync',参数)
修改 state数据需要调用 
state:{
    **:''
}
mutation中不能处理一步操作
mutation:{
    addFn(state,(参数)){
        state.** -= 参数
    }
}
组件调用
import {mapState,mapMutations,mapActions } form 'vuex'
// 计算属性存放state 值
computed:{
    ...mapState(['state内值'])
}
methods:{
    ...mapMutations([
        'mutation中定义的函数(addFn)
    ])
     ...mapMutations({
      add: 'addFn' // 将 `this.add()` 映射为 `this.$store.commit('increment')`
    })
}
组件函调用mutation 传入函数
 fatherClick(){
     store.commit('addFn')
    // store.commit('add')
 }

 

当处理值发生异步则需要调用 action

actions:{
    // 在actions中,不能直接修改 state 中数据
    // 必须通过 context.commit() 触发某个 mutation才行
    addAsync(context){
      发送的请求
      setTimeout(()=>{
        context.commit('addFn')
      },1000)
    }
}
组件调用函数
fatherClick(){
    // dispatch 函数,专门触发 action
    第一中调用方法
    this.$store.dispatch('addAsync')
}
第二种调用方法 
methods:{
    ...mapActions(['addAsync'])
}
fatherClick(){
    this.addAsync()
    // 可以直接写在按钮事件上 @click=“addAsync”
}



这篇关于vuex基础用法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程