首页 > 其他 > 详细

Vue组件通信的几种方法

时间:2019-09-16 18:49:59      阅读:59      评论:0      收藏:0      [点我收藏+]

上一节说到,vue.js是允许子组件通过props接受父组件的信息,但是不允许父组件通过props接受子组件的信息

1. $emit()和on

当子组件需要向父组件传递数据时,就要用到自定义事件。
使用观察者模式,子组件用 $emit()来触发事件,父组件用 $on()来监昕子组件的事件 。
更常用的是: 父组件也可以直接在在子组件自定义标签上使用v-on来监听子组件触发的自定义事件。

2. bus:兄弟组件和跨多级组件通信

推荐使用一个空的 Vue 实例作为中央事件总线( bus )

3. this.$parent 可以直接访问该组件的父组件,父组件可以通过this.$children访问他所有的子组件,还可以使用ref来定义子组件的索引


设计原则:
子组件应该尽可能地避免依赖父组件的数据,更不应该去主动修改它的数据.
父子组件最好还是通过props 和 $emit 来通信。

4. 更好的状态管理解决方案vuex

Vue组件通信的几种方法

原文:https://www.cnblogs.com/whyaza/p/11528492.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!