1.props(父传子):
通过自定义属性将父组件数据传递给子组件,子组件通过props接收可以使用
2.$emit(子传父):
通过$emit来传值。$emit有两个参数,第一个参数是自定义事件,第二个参数是要传递的值,父组件通过v-on来接收
3.eventBus(兄弟之间传值):
使用eventBus事件总线($emit/on)
创建事件中心管理组件之间的通信。用$emit传递数据,on接收传的数据
4.$parent/$children
$parent可以让组件访问父组件的实例(访问的是上一级父组件的属性和方法)$children可以让组件访问子组件的实例,但是$children并不能保证顺序,并且访问的数据也不是响应式的
5.provide/inject
通过provide函数将父组件数据传给子组件,子组件通过inject接收,父组件传出去的数据如果是data里面的值,那么就是响应式的
6.vuex
vuex中有五个属性
1.state:用来存放全局都可以使用的数据
2.mutations:可以通过mutations中的方法修改state中的数据,来完成视图更新
3.getters:可以返回一个对state中数据进行计算得到的数据,类似计算属性
4.actions:actions中的方法触发mutations中的方法从而改变state里面的数据,异步操作只能在actions中执行(如果mutations支持异步操作,就没有办法知道状态是何时更新的)
5.module:当遇见大型项目时,数据量大,store就会显得很臃肿为了解决以上问题,vuex允许我们将store分割成模块
组件访问mutations中的方法需要使用.commit方法触发
组件访问actions中的方法需要使用.dispatch方法触发