vuex

建立vuex基本结构里的五个js模块 state mutation action gettet 

=主文件index.js

  在主文件里引入四大模块 import state/mutations/actions/gettets

引入完之后挂载

 1. 状态文件   state.js    export default{数据:   }//定义数据

2 . 更改状态的方法文件mutations.js  

      第二步在这里引入定义的名字

      import {RECEIVE_ADDRESS,RECEIVE_            CSTEGORYS,RECEIVE_SHOPS} form “./maution_types.js”

      export default{ 

          [RECEIVE_ADDRESS](state,{addres}){

               state.addres=addres

          }

方法名(){}    }

3. 异步操作文件 actions.js之后调用mautions.js方法

     第三步在这里引入mutation_types引入api接口函数,完成之后,调用mautions里的方法,也需要引入名字

    import {RECEIVE_ADDRESS,RECEIVE_ CSTEGORYS,RECEIVE_SHOPS} form “./maution_types.js”

impoer {xxx,xxx,xxx} form “axioa”

     export default{方法名() {}

         //异步获取地址数据,定义一个方法名字

         async getaddres({commit,state}){

             //发请求   const aas=state.aas

             const resolt=await xxx(aas)

              //提交一个mutation

              if(code===0){const addresd=resolt.data;        commit(RECEIVE_ADDRESS,{addres})}

         }

     }

4.action和mutation文件交互的中间连接文件mutation_types.js

   异步操作第一步在这里定义名字

   export const RECEIVE_ADDRESS = “receive_address”   //接收     接口返回的地址

   ecport const RECEIVE_ CSTEGORYS =“receive_categorys”  //接     收接口返回的分类

  export const RECEIVE_SHOPS = “receive_shops”  //接收返回      的商品数据

5.计算属性 gettets.js       

    expory default{属性名(){  }      }

action调用方法:

在组件里调action方法

mounted{this.$store.dispatch(“getaddtes”)}

在组件里调用action的另一种方法,在methods里映射函数方法

引入映射函数 import {mapActions} form “vuex”

在方法里映射成方法  methods{...mapActions([“getaddres”])}

然后在mounted{this.getaddres()}//来调用action里的方法

在组件里读stste数据。在计算属性里映射数据

impory {mapState} from vuex

computed{...mapState([“address”])}

第三步 代码里冒号之后直接用address.name

原文地址:https://www.cnblogs.com/zzhqdkf/p/12675828.html