zoukankan      html  css  js  c++  java
  • vuex 存值 及 取值 的操作

    1.传值

    // 定义参数
    let params = {
      workItemId: workItemId,
      flowInstId: flowInstId,
      itemStatus: itemStatus,
      type: type,
      srcId: srcId
    }
    // 保存参数
    this.$store.dispatch('approvalConfirmParams', params);

    2.vuex

    (1)index.js

    /**
     * 步骤一
     * vuex 入口文件
     */
    // 引入 vue
    import Vue from 'vue'
    // 引入 vuex
    import Vuex from 'vuex'
    
    import actions from './actions'
    import mutations from './mutations'
    
    Vue.use(Vuex);
    
    // 导出
    export default new Vuex.Store({
      modules:{
        mutations
      },
      actions
    });

    (2)types.js

    /**
     * 步骤二
     * 状态(类型)
     */
    // 审批历史页请求参数
    export const APPROVAL_HISTORY_PARAMS = 'APPROVAL_HISTORY_PARAMS';

    (3)actions.js

    /**
     * 步骤三
     * 管理事件(行为)
     */
    // 引入 状态(类型),用于提交到mutations
    import * as types from './types'
    
    // 导出
    export default {
      // 保存 请求参数 approvalHistoryParams为上面的"action名"
      approvalHistoryParams: ({commit}, res) => {
        // 此处是触发mutation的 STORE_MOVIE_ID为"mutation名"
        commit(types.APPROVAL_HISTORY_PARAMS, res);
      }
    }

    (4)mutations.js

    /**
     * 步骤四
     * 突变(处理状态改变)
     */
    import {
      APPROVAL_HISTORY_PARAMS // 审批历史参数
    } from './types'
    
    // 引入 getters
    import getters from './getters'
    
    // 定义、初始化数据
    const state = {
      approvalHistoryParams:{}
    }
    
    // 定义 mutations
    const mutations = {
      // 匹配actions通过commit传过来的值,并改变state上的属性的值
      // 审批历史页 请求参数
      [APPROVAL_HISTORY_PARAMS](state, res){
        state.approvalHistoryParams = res;   //state.数据名 = data
      }
    }
    
    // 导出
    export default {
      state,
      mutations,
      getters
    }

    (5)getters.js

    /**
     * 步骤五
     * 获取数据
     */
    // 导出
    export default {
      // 获取 审批历史参数
      approvalHistoryParams: (state) => {
        return state.approvalHistoryParams;
      }
    }

    3.取值

    import { mapGetters } from 'vuex';
    
    export default {
      computed: {
        ...mapGetters([//...函数名 使用对象展开运算符将此对象混入到外部对象中
          'approvalHistoryParams'
        ])
      },
      methods: {
        fetchData(){
          console.log(this.approvalHistoryParams.name);
        }
      }
    }

    注:

    dispatch:含有异步操作,例如向后台提交数据,写法: this.$store.dispatch('mutations方法名',值)

    commit:同步操作,写法:this.$store.commit('mutations方法名',值)

  • 相关阅读:
    java 整合 ssm (spring+ springmvc+ mybatis)
    java spring 事物 ( 已转账为例 ) 基于 aop 注解
    java spring 事物 ( 已转账为例 ) 基于 xml 配置,事务类型说明
    JAVA Spring 面向切面编程 基本案例(AOP)
    java websocket 简单的聊天室
    java websocket 实现简单的前后端即时通信
    js 通过文件输入框读取文件为 base64 文件, 并借助 canvas 压缩 FileReader, files, drawImage
    js 使用 XMLHttpRequest 请求发送 formdata 对象,从而上传文件
    html5 canvas ( 创建图形对象 ) createImageData
    编写Shell脚本的最佳实践
  • 原文地址:https://www.cnblogs.com/crazycode2/p/8607318.html
Copyright © 2011-2022 走看看