VUE中实现通信的⽅式:
- props:- 若 父传子:属性值是非函数。- 若 子传父:属性值是函数。
- emit
- v-model
- refs-
$refs
:父→子。$parent
:子→父。 - provide/inject:祖孙组件直接通信,在祖先组件中通过
provide
配置向后代组件提供数据,在后代组件中通过inject
配置来声明接收数据 - eventBus
- vuex/pinia(状态管理⼯具)
- mitt
常⻅的是上⾯的这⼏种,少⻅的其实还可以算上插槽 slot, 混⼊,路由携带参数,localStorage,$parent /$children
等
1.props
常常使⽤在⽗组件传递給⼦组件通信的过程中,⾸先在⼦组件中使⽤ props,来接收对应的属性,⽽在⽗组件中使⽤⼦组件的地⽅,添加上⾯定义的属性。
2. emit
这个就和上⾯的相反,是使⽤在⼦组件给⽗组件传递值的中。⼦组件中声明对应的事件,当⼦组件触发事件,就会通过this.$emit(‘事件’ , ‘数据’)
传递到,⽽在⽗组件中使⽤⼦组件的地⽅,添加上⾯定义的事件,这个可以获取⼦组件传来的值。
3. provide/inject
这对组合往往使⽤在