vuex是一个专门为Vue.js应用设计的状态管库构架,统一管理和维护各个vue组件的可变化状态(你可以理解成 vue 组件里的某些 data )。
一、vuex 的 五个属性
- state:vuex的基本数据,用来存储变量
- geeter:从基本数据(state)派生的数据,相当于state的计算属性
- mutation:提交更新数据的方法,必须是同步的(如果需要异步使用action)。每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。 回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数,提交载荷作为第二个参数。
- action:和mutation的功能大致相同,不同之处在于 ==》1. Action 提交的是 mutation,而不是直接变更状态。 2. Action 可以包含任意异步操作。api
- modules:模块化vuex,可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰,方便管理。
二、Vuex 的用法
1.需要你新建一个vue项目
2.在你新建的项目当中 与App.vue 同级 新建一个 store文件
3.在store文件下新建一和index.js
4.在项目的main.js引入
import store from './store'
import Vuex from 'vuex'
Vue.use(Vuex);
- 在store文件下的index.js中引入 (如果有其他需要用到,直接移入即可)
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {}, // state:储蓄组件需要的数据
getters: {}, // getters:处理store.js中的数据
mutations: {}, // mutations:组件处理store.js的事件方法
actions: {}, // actions:异步处理mutations里面的事件方法。
modules: {},
})
forEach 、 map循环数组最大的区别:
forEach没有返回值return,对原来数组进行了修改。
map:重新克隆一份数组出来进行修改,有return值,返回出什么,也就修改克隆出数组的值。
网友评论