vuex使用和规范

关于vuex使用和规范
vuex示例

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);
let store = new Vuex.Store({
  // 1. state
  state:{
    city:"城市名",
    reserveInfo:{}  //预约参数列表
  },

  // 2. getters
  getters:{
    // 参数列表state指的是state数据
    getCityFn(state){
      return state.city;
    },
    getReserve(state){
      return state.reserveInfo;
    }
  },
  // 3. actions
  // 通常跟api接口打交道
  actions:{
    // 设置城市信息
    // 参数列表:{commit, state}
    // state指的是state数据
    // commit调用mutations的方法
    // name就是调用此方法时要传的参数
    setCityName({commit,state}, name){
      // 跟后台打交道
      // 调用mutaions里面的方法
      commit("setCity", name);
    },
    setReserveInfo({commit,state},obj){
      commit('setReserve',obj);
    }
  },
  // 4. mutations
  mutations:{
    // state指的是state的数据
    // name传递过来的数据
    setCity(state, name){
      state.city = name;//将传参设置给state的city
    },
    setReserve(state, obj){
      // state.reserveInfo = Object.assign(state.reserveInfo,obj);
      state.reserveInfo = {
        ...state.reserveInfo,
        ...obj
      }
    }
  }
});

export default store;

在vue页面中调用和使用分两种情况,第一种直接使用,使用computed获取,示例

computed:{
      reserveInfo(){
        return this.$store.getters.getReserve;
      }
    },

vue页面调用

<div class="info">
        <div class="item">
          <span>预约业务</span>
          <span>{{reserveInfo.typeName}}</span>
        </div>
        <div class="item">
          <span>预约大厅</span>
          <span>{{reserveInfo.centerName}}</span>
        </div>
        <div class="item">
          <span>详细地址</span>
          <span>{{reserveInfo.address}}</span>
        </div>
      </div>

第二种,修改vuex仓库参数的值

this.$store.dispatch('setReserveInfo',this.typeList);
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 6,404评论 0 2
  • Vue学习总结(Vue基础,VueCli3,VueRouter,Vuex) 目录 vue基础知识(1-13)vue...
    Allenem阅读 9,648评论 0 22
  • vuex是一个专门为vue.js设计的集中式状态管理架构,——数据仓库。 状态:在这可以理解为在data中的属性需...
    晏子小七阅读 1,365评论 0 0
  • 配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...
    sunny688阅读 6,850评论 0 23
  • 目录 - 1.什么是vuex? - 2.为什么要使用Vuex? - 3.vuex的核心概念?||如何在组件中去使用...
    我跟你蒋阅读 9,563评论 4 51