[需求]自定义组件Component实例间通讯
经常会有一种需求,同一个组件多个实例之间可以进行消息通知,以便维护或传递状态,举两个具体的场景例子:
场景1:类似Radio具有互斥行为的组件。页面会实例化多个这样的组件,选择其中一个,其他的都变成未选中状态
场景2:做一个语音播放条(脑补微信聊天对话框的样子),当某个播放条在播放音频的时候,显示一个动态的小喇叭gif,其他的播放条应该显示一个静态的小喇叭。这个行为的维护,需要在一个播放条播放的时候,通知所有其他播放条:“如果有人是gif,赶快换成静态的图片”
在目前组件的机制下,我不知道如何实现?如果不能实现,希望今后组件能升级支持一下,这个场景还是非常常见的,因为之所以做组件,就是因为两个原因,要么是多个页面要重复用,要么就是同一个页面里要多次用,而同一个页面的情况经常会有维护组件状态关系的需求。
最好的是有个事件广播的机制,这样可以用this关键词来维护;如果实在不行,能不能搞个GlobalData,提供一个setGlobalData方法,然后GlobalData可以作为wxml的数据源输出,这样也可以实现好多需求。