vue,组件递归事件传递

1、在父组件中引用了几个组件,定义了几个公共方法以供各个子组件调用,子组件通过$emit将参数传给父组件,父组件调用方法后通过props将结果传回给子组件以供展示。
2、但是,,问题来了,,其中有个子组件是递归组件,在这个组件中有click事件,问题是,子组件递归自己后的组件的事件是传给上级子组件还是直接传给父组件?(我试验的结果好像是传给上级子组件)

阅读 6k
3 个回答

恩, 是的啦, 因为递归的话可能是:

<parent>
 <child>
  <child>
    <child>
    </child>
  </child>
 </child>
</parent>

那么最里层的child的父组件本来就是倒数第二层的子组件~

这种情况下建议使用一个空的组件实例作为中转站。来自官方的说明:

clipboard.png

感觉纠结这个没有什么意义啦,不管递归的子组件是怎么传递的,也不说递归会不会产生影响性能,至少这种写法和思路后期维护的时候就很麻烦,最好还是用bus吧。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题