组件间的通信是是实际开发中非常常用的一环,如何使用对项目整体设计、开发、规范都有很实际的的作用,我在项目开发中对此深有体会,总结下vue组件间通信的几种方式,讨论下各自的使用场景
文章对相关场景预览
- 父->子组件间的数据传递
- 子->父组件间的数据传递
- 兄弟组件间的数据传递
- 组件深层嵌套,祖先组件与子组件间的数据传递
文章相关技术预览prop、emit、bus、vuex、路由URL、provide/inject
注:以下介绍与代码环境: vue2.0+、vue-cli2
父->子组件间的数据传递
父子组件的通信是开发是最常用的也是最重要的,你们一定知道父子通信是用prop传递数据的,像这样:
//父组件,传递数据
<editor :inputIndex="data" :inputName="王文健"></editor>
//子组件,接受数据,定义传递数据的类型type与默认值default
props: {
inputIndex: {
type: Object,
default: function(){
return {}
}
},
inputName: {
type: String,
default: ''
}
注意项:
-
父组件传递数据时类似在标签中写了一个属性,如果是传递的数据是data中的自然是要在传递属性前加 v-bind: ,如果传递的是一个已知的固定值呢