标签:vue 方式 bus refs 间通信 组件 传递数据
组件之间的传递数据的方式
、父子间通信:父传子
子组件内定义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
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。