当前位置: 首页 > news >正文

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的IO流的一些测试
  • 扒一扒,你有多少校友在阿里?实习就来阿里云。
  • LVS+keepalived+nginx
  • 0/1背包经典例题 入门动态规划
  • HDU 2242 考研路茫茫——空调教室(边双连通)
  • Inno 安装前检测.net framework 4.0
  • MySQL5.7 添加用户、删除用户与授权
  • Puppeteer:浏览器控制器
  • Centos 如何双击执行可执行程序
  • 大幕已拉开,人工智能离我们还有多远?
  • SpringBoot2系列教程(二)maven项目包 (特别完整!)
  • 如何用 SpringBoot 优雅的写代码
  • postgres 错误
  • 如何在C#项目中使用NHibernate
  • JAVA多线程机制解析-volatilesynchronized
  • CentOS6 编译安装 redis-3.2.3
  • Git初体验
  • node入门
  • Redis字符串类型内部编码剖析
  • SQLServer之索引简介
  • Vue实战(四)登录/注册页的实现
  • vue学习系列(二)vue-cli
  • 力扣(LeetCode)21
  • 每天一个设计模式之命令模式
  • 赢得Docker挑战最佳实践
  • 带你开发类似Pokemon Go的AR游戏
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (function(){})()的分步解析
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (NSDate) 时间 (time )比较
  • (实战)静默dbca安装创建数据库 --参数说明+举例
  • (四)linux文件内容查看
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)创业家杂志:UCWEB天使第一步
  • (转载)CentOS查看系统信息|CentOS查看命令
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .cfg\.dat\.mak(持续补充)
  • .gitignore
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core 6 集成和使用 mongodb
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .Net Remoting(分离服务程序实现) - Part.3
  • .net6+aspose.words导出word并转pdf
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @ConfigurationProperties注解对数据的自动封装
  • @Transactional类内部访问失效原因详解
  • [ SNOI 2013 ] Quare
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [Angular 基础] - 自定义指令,深入学习 directive
  • [C#]C# OpenVINO部署yolov8图像分类模型
  • [ESP32 IDF]web server