其他分享
首页 > 其他分享> > 组件之间的传递数据的方式

组件之间的传递数据的方式

作者:互联网

组件之间的传递数据的方式

、父子间通信:父传子
子组件内定义props属性,父组件通过v-bind(:)向子组件传递数据

2、父子间通信:父传子
当子组件内部没有定义props属性时,可以在父组件上用v-bind传递数据,子组件通过this.$attrs获取,获取过来是一个对象,里面包含所有父组件传递过来的数据

3、父子间通信:子传父
子组件内this.$emit(事件名,传递参数)

父组件v-on(@)监听子组件发射的事件

4、任意组件间的通信
在vue的原型上定义一个$bus,再创建一个vue实例,把vue实例赋值给$bus,通过给$bus发射事件,在任意一个组件上都能通过this.$bus.$on监听到,也可以通过this.$bus.$off取消当前事件总线的监听

Vue.prototype.$bus = new Vue()
this.$bus.$emit('itemImageLoad',data)
this.$bus.$on('itemImageLoad',data => {})

5、ref和this.$refs:父组件拿到子组件内的数据(子传父)
给一个子组件定义一个refs,之后父组件就能通过this.$refs获取这个组件

<tabbar class='btn' ref='a'/>

this.$refs.a //获取到tabbar
获取到这个组件后就可以拿到组件内部定义的数据和方法

6、vuex
在没有多少联系的组件之间传递数据,相当于一个大仓库,vue中的所有组件都会拿到里面的数据

标签:vue,方式,bus,refs,间通信,组件,传递数据
来源: https://www.cnblogs.com/zjz-527/p/16257458.html