1.proprs数据不要改,那么全局事件总线呢?vuex插件数据能改 2.actions函数内不能写this吗 3.Vue.use(Vuex)什么意思,必须在前面吗,不是模板语句中的数据更新了会重新update吗,actions没的函数只有两个参数吗,只一个参数?,上下文?状态对象? 全局事件总线是只能两个组件之间进行数据的传输,vuex是所有组件之间共享一个数据,实时改变。 vuex环境搭建 1.安装 npm i vuex@3 vue是2,安装vuex@3 vue3,安装vuex@4. 2.src下新建vuex文件下的store.js文件放共享对象。 3.引入vuex ,import Vuex from 'vuex' 4.Vue.use(Vuex) 5.创建store对象, new Vuex.store({}),还要导出。 6,在main文件中,store配置项写store对象,让所有的vc和vm引入了对象。store导入对象。但是store对象必须先导入main内。@/是=src/,找的是文件夹下只一个js文件就是它。import暴露出去,拿到的都是指向的变量。 vuex的工作原理,我们可以用state中的数据进行操作,store中写了store对象,使得每个vc/vm都有$store属性,指向store对象,store对象.state得到共享数据,可以直接对数据进行操作,但是我们有时业务复杂,代码复杂,所以actions专门负责解决业务逻辑的,mutations专门是数据进行更新,store对象中有dispatch属性,这个函数可以调用store对象内的actions中的函数,第一个参数是函数名,第二个参数是数据,dispatch调用函数时,会将上下文和数据传给对应函数。context上下文,当中也有dispatch也可以找到actions中的函数一样操作,上下文也有commit可以找到,mutations的函数进行调用,也是用commit方法参数是方法名,参数,找到mutations中的对应方法名将当前状态对象/数据对象,和参数传给方法,进行数据更新。我们即使业务简单也这样用,思想。vuex实现共享,你只要得到共享数据,只要访问到state对象,就行,无需访问actions和mutations,这两个配置项是为了解决复杂的数据更新,插值语法或是指令都不要写的太长,data和stata都尽量写常量。我们有getter配置项在store内,和计算属性性能一样,只要访问到了就是调用get,得到return。我们只是得到数据用state,如果需要更新数据,不要直接访问state进行更新,无论简单或难。如果简单就直接mutations进行更新。难就先actions进行处理。ES6的...扩展运算符就是...数据或对象,将{}/[]去掉,相当于在写...{}的位置,写了除去{}的东西,可以用于数组传参。console.log()可以写多个参数,都会打印到控制台,多个参数以逗号隔开,参数要是数据类型。x:1不是。我们...{}可以写在这{ 1,2,...[3,4],5}写在这,也会处理。