vue中各个组件之间传值比较
1.父子组件
父组件–>子组件,通过子组件的自定义属性:props
子组件–>父组件,通过自定义事件:this.$emit(‘事件名’,参数1,参数2,…);
缺点:用组件之间通讯。这样写很麻烦,并且写着写着,估计自己都不知道这是啥了,很容易写晕。
2.非父子组件或父子组件
通过数据总数Bus,this.root. root.root.emit(‘事件名’,参数1,参数2,…)
缺点: 我们定义全局变量。模块a的数据赋值给全局变量x。然后模块b获取x。这样我们就很容易获取到数据
3.非父子组件或父子组件
更好的方式是在vue中使用vuex,实现了数据统计管理。
方法1: 用组件之间通讯。这样写很麻烦,并且写着写着,估计自己都不知道这是啥了,很容易写晕。
方法2: 我们定义全局变量。模块a的数据赋值给全局变量x。然后模块b获取x。这样我们就很容易获取到数据
Vuex中的各个js文件的用途
变量传值的演变形式
Vuex的使用
(图解Vuex各组件)
在这一张图我们可以看的出Vuex的性能非常好,总线传值有很大的缺陷存在,所以我们这次重点会讲解Vuex这个版块。
state:我们用来存放我们需要用到的变量
gettters:用来获取我们定义的变量
mutations:操作我们定义的变量,同步操作
actions:操作我们定义的变量,异步操作
什么vuex 是:
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。
以上是vue官方很官方的解释简单的说:vuex是一个数据仓库,管理状态(数据
Vuex分成五个部分:
1.State:单一状态树
2.Getters:状态获取
3.Mutations:触发同步事件
4.Actions:提交mutation,可以包含异步操作
5.Module:将vuex进行分模块
vuex使用步骤
一, 我们要下载Vuex模块
安装: npm install vuex -S
二,创建store模块,分别维护state/actions/mutation