请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

$emit 和 $on 之间传递数据的问题

图片描述
官方文档中 通过$on可以接收$emit传递的数据
但是我在案例中直接在父组件里这样接收数据也是可以的,那么用$on来接收有什么区别呢,希望老师能够解答
图片描述

正在回答 回答被采纳积分+3

1回答

ustbhuangyi 2018-12-13 18:25:30

$on 是监听当前实例派发的事件,通常子组件不会直接修改父组件的数据,而是通过往自身派发一个事件,然后由于事件监听函数的定义是在父组件环境中,所以就可以在父组件中执行回调函数了,这里可以去修改父组件的数据。

0 回复 有任何疑惑可以回复我~
  • 提问者 aliezzzz #1
    谢谢老师的解答,也就是说通过调用this.$on来监听子组件事件,和通过在标签上v-on:[事件名],这两种方法本质上是一样的吧,只是调用方式不一样。是这个意思吗
    回复 有任何疑惑可以回复我~ 2018-12-14 17:12:25
  • ustbhuangyi 回复 提问者 aliezzzz #2
    不一样,this.$on 是在当前的组件实例上监听事件,而在模板中的子组件写 v-on:[事件名],是在子组件实例上监听事件。
    回复 有任何疑惑可以回复我~ 2018-12-14 18:11:35
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信