时间:2021-05-25
1 目录的配置
根据官方推荐在src目录里面创建store目录
2 创建store里面的文件
根据官方推荐创建 actions.js, getters.js,index.js, mutations.js, mutations-types.js, state.js
2.1 state.js
state.js: 是vuex的单一状态数,用一个对象就包含了全部的应用层级状态。至此它便作为一个『唯一数据源(SSOT)』而存在。这也意味着,每个应用将仅仅包含一个 store 实例。单一状态树让我们能够直接地定位任一特定的状态片段,在调试的过程中也能轻易地取得整个当前应用状态的快照。(用来管理所有vuex状态数据)
/** 是vuex的单一状态数,用一个对象就包含了全部的应用层级状态* 单一状态树让我们能够直接地定位任一特定的状态片段,在调试的过程中也能轻易地取得整个当前应用状态的快照。(用来管理所有vuex状态数据)**/const state = { // 城市状态,用来管理城市 city: {}, cityList: [], fullScreen: true, palyer: false};export default state;2.2 mutations-types.js 存取mutations相关的字符常量 (一些常量)
2.3 mutations.js (定义修改的操作)
更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutations 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数
/* * 更改 Vuex 的 store 中的状态的唯一方法是提交 mutation * Vuex 中的 mutations 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数 */// 导入mutation-type.js里面所有的常量import * as types from './mutation-types';// 定义一个mutation可以供设置和修改值const mutations = { /* * 1 表达式作为属性表达式放在方括号之内 * 2 形参state (获取当前状态树的state) * 3 形参city,是提交mutation时传的参数 * 4 使用mutation便于书写方便 * 5 这个操作相当于往state.js里面写入city */ [types.SET_CITY](state, city) { state.city = city; }, [types.SET_CITY_LIST](state, list) { state.cityList = list; }, [types.SET_FULL_SCREEN](state, flag) { state.fullScreen = flag; }, [types.SET_PLAY](state, palyState) { state.palyer = palyState; }};// 导出mutationexport default mutations;2.4 getters.js 有时候我们需要从 store 中的 state 中派生出一些状态。
mapGetters 辅助函数仅仅是将 store 中的 getters 映射到局部计算属性
/** 有时候我们需要从 store 中的 state 中派生出一些状态* 这里的常量主要是对state里面做一些映射* mapGetters 辅助函数仅仅是将 store 中的 getters 映射到局部计算属性*/// 对state里面的属性做一些映射export const city = state => state.city; // 箭头函数的简写export const cityList = state => state.cityList;export const fullScreen = state => state.fullScreen;export const palyer = state => state.palyer;2.5 actions.js
Action 类似于 mutation,不同在于:
2.6 index.js入口
3 使用
3.1 在mian.js注册store
在main.js里面new的Vue的实例里面注册store
3.2 写入值,要在组件中引入mapMutations的语法糖
引入语法糖
在methods里面mapMutations 辅助函数将组件中的 methods 映射为 store.commit 调用
在需要的地方写入值
3.3获取值
获得vuex中的值,要在组件中引入mapGetters(mapGetters 辅助函数仅仅是将 store 中的 getters 映射到局部计算属性)
引入mapGetters
在computed计算属性里面使用对象展开运算符将 getters 混入 computed 对象中
拿到值
3.4 action存入值
在需要存入的地方使用
this.selectList({ list: this.citys, index: 1});以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前一段时间因为需要使用vue,特地去学习了一下。但是时间匆忙vuex没有接触到,今天闲暇时看了解了一下vuex,并做了一个小demo,用于记录vuex的简单使用
在IE上使用Vuex的过程中,出现如下错误:SCRIPT5022:[vuex]vuexrequiresaPromisepolyfillinthisbrowser
一直是Redux的死忠党,但使用过Vuex后,感叹于Vuex上手之快,于是萌生了写一个能在React里使用的类Vuex库,暂时取名Ruex。如何使用一:创建St
vuex渐进式教程,从入门级带你慢慢深入使用vuex。Vuex是什么?Vuex是一个专为Vue.js应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组
现在在上一篇为什么要使用Vuex的介绍理解基础上使用Vuex中的State,一个正面例子来证实,同时也介绍一下Vue核心概念State。Vuex使用单一状态树—