zoukankan      html  css  js  c++  java
  • vuex使用备忘

    1.首先目录结构大致如下:

    2.mutation-type.js

    3.index.js

    import Vue from 'vue';
    import Vuex from 'vuex';
    import user from './modules/user';
    import asideMenu from './modules/asideMenu';
    import tableDetail from './modules/tableDetail';
    import search from './modules/search';
    import apiData from './modules/apiData';
    import scrollTop from './modules/scrollTop';
    import formDialog from './modules/formDialog';
    import userManage from './modules/authManageStore/userManage';
    import roleManage from './modules/authManageStore/roleManage';
    import authManage from './modules/authManageStore/authManage';
    
    Vue.use(Vuex);
    
    export default new Vuex.Store({
      state: {},
      getters: {},
      actions: {},
      mutations: {},
      modules: {
        user,
        asideMenu,
        tableDetail,
        search,
        apiData,
        scrollTop,
        userManage,
        roleManage,
        authManage,
        formDialog
      }
    });

    4.modules下的js文件

    import * as Api from '../../data';
    import * as types from '../mutation-type';
    
    const state = {
      searchInfo: []
    };
    
    const mutations = {
      [types.SETSEARCHBYCONDITION] (state, payload) {
        const { datas } = payload;
        state.searchInfo = Object.assign({}, datas);
      }
    };
    
    const actions = {
      // 搜索栏信息
      async getSearchByCondition ({ commit }, payload) {
        const { layerId, colName, tabName } = payload;
        await Api.getSearchByCondition(layerId, colName, tabName).then(res => {
          if (res.errorCode === 'SUCCESS') {
            commit(types.SETSEARCHBYCONDITION, {
              datas: res
            });
          }
        });
      }
    };
    
    export default {
      namespaced: true,
      state,
      mutations,
      actions
    };
    import * as Api from '../../data';
    import * as types from '../mutation-type';
    const state = {
      layerMenus: [],
      classifyMenus: [],
      groups: {},
      tabs: {},
      description: '',
      defaultMenus: {},
      authFlag: false,
      // type 1 刷新正常树 2 刷新收藏树
      isRefreshObj: {isRefresh: false, type: 1}
    };
    
    const mutations = {
      [types.setRefreshMenu] (state, payload) {
        state.isRefreshObj.isRefresh = !state.isRefreshObj.isRefresh;
        state.isRefreshObj.type = payload.type;
      },
      [types.SETDEFAULTMENUS] (state, payload) {
        const { datas } = payload;
        state.defaultMenus = Object.assign({}, datas);
      },

    5.组件中使用 用于兄弟组件事件通信和传参(载荷)

    此处对象监听用deep: true

  • 相关阅读:
    【洛谷 p3386】模板-二分图匹配(图论)
    【洛谷 p3374】模板-树状数组 1(数据结构)
    【poj 3167】Cow Patterns(字符串--KMP匹配+数据结构--树状数组)
    【洛谷 p3368】模板-树状数组 2(数据结构)
    【洛谷 P3385】模板-负环(图论--spfa)
    【poj 3080】Blue Jeans(字符串--KMP+暴力枚举+剪枝)
    【poj 2185】Milking Grid(字符串--KMP+问题分解)
    【poj 3461】Oulipo(字符串--KMP)
    正则表达式
    表单
  • 原文地址:https://www.cnblogs.com/jiaqi1719/p/10484927.html
Copyright © 2011-2022 走看看