javascript - weex组件通信的疑问,不能类似与vue自动冒泡到父组件吗?
本文介绍了javascript - weex组件通信的疑问,不能类似与vue自动冒泡到父组件吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
看官方文档,组件通讯
讲到事件通信都是通过this._parent
(名称太怪了,后面会改成$parent
)。来获取父组件,或者用this.$vm(id)
获取子组件,来调用$emit
方法进行通讯。
但是原来概念中事件在emit之后,不是应该自动传播到父组件吗?为什么需要this._parent
,去调用父组件的$emit
方法。
这样的话,不是会导致this._parent._parent...
,另外也会耦合比较严重,如果我中间加了一层组件,就需要把事件相关处理的代码都修改一下。
这样设计的原因是因为什么呢?希望大家能解答,谢谢大家。
解决方案
改成使用 $dispatch
就可以了。
从子组件往上层发送事件可以使用 this.$dispatch('eventName', {foo: 'bar'});
上层组件广播事件可以使用 this.$broadcast('eventName', {foo: 'bar'});
接收事件用 this.$on('eventName, function (){});
这篇关于javascript - weex组件通信的疑问,不能类似与vue自动冒泡到父组件吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文