1.vuex的基本和下载
1.vuex是一种集中管理模式,举个详细一点的例子就是公共的数据,函数和计算属性,允许任何组件来使用,修改这里面的数据,vuex也可以成为store处理模式,其中一个store示例有state,mutation,getter,action,module五个基本属性,具体的属性图可以去看官网捏
vuex的下载指令为
npm install vuex@next --save
很快就能下载完成的东西
具体的使用,我们一般是创建一个js文件,在里面创建实例对象,然后抛出
然后挂载到具体的实例上
这样,这个实例就可以使用vuex里面的属性了
2。关于里面的五个基本属性的详解:
(1)state
state,状态,就是一个公共的储存数据的地点,可以类比一下云端,或者是同一个Runnable对象生成的多个线程,这里面数据是公用的
像调用state的数据,我们要使用$store.state这种调用方式
任意组件中调用,用这种语法
具体形式是这样
很简单,而且这玩意是响应式的,但是我们不能在组件里面随意进行修改,因为会把公共数据污染掉,我们统一使用mutation进行commit方法
(2)mutation
里面写同步函数,一般用作更新state里面的数据
书写方法如下,写在mutations属性里面,每个mutation都是一个函数类型的东西
其中第一个参数,默认就是上面的state对象,我们可以很快速地拿到数据
第二个参数是负荷,递交的时候传进来的参数
在使用这些方法的时候,不是直接调用mutations,而是用commit选取对应的mutation然后调用
再次注意一下,mutation里面只能写同步方法,一些异步方法比如向后端抓取数据,最好还是用别的方法比如actions
(3)getter
getters其实就是store模式里面的计算属性。每个getter有三个参数
具体的调用方法如下,如果只有state一个默认参数,我们就不需要有括号和传参
没啥好说的,这东西具体用法和计算属性一模一样
(4)action
action具体用法和mutation差不多,但是有几点不一样
(1)action主要以用来写异步方法,比如请求后端数据
(2)action不能修改state,必须通过commit提交给某个mutation才能处理
(3)调用用的是dispatch关键字
(4)默认参数context,在内部用来代替store,这个东西和store对象一模一样,但是本质上不是一个东西
具体的书写方法,异步就体现在这里,哪怕有个指令断掉了,也不影响方法内其他指令的运行和继续,哪怕写在这个下面
具体的调用方法是这样的
(5)module
这个玩意或许可以理解为一种组合式api?其实就是差不多的东西写到一起
其中不太一样的东西其实就是哪个state
1.写法上搞特殊,记住这个简化形式
2.在调用的时候,其他三个属性,都是和父属性储存在一起的,调用的时候不用区别对待
但是state是在根组件的state里面又增加了一个对象
在state的基础上借用在父module中的名字使用
就先这么多,随时补充