Micircle / scratch3.0-note

scratch 3.0 开发笔记
https://micircle.github.io/scratch3.0-note/
357 stars 105 forks source link

请问在vm里面应该如何想gui传参,触发事件? #21

Closed klskls0 closed 3 years ago

klskls0 commented 3 years ago

目前的需求是:点一个积木块,然后弹一个框,这个框里的数据是来源于第三方提供的接口是一个socket连接, 我需要将这些数据展示以echarts形式展示到弹框里。目前弹框在gui里,由state里的一个值控制。

我在vm的extensions中建了一个扩展。然后定义了一些积木块。如:
{ opcode: 'faceMarker', blockType: BlockType.COMMAND, text: formatMessage({ id: 'BaiduBrain.faceMarker', default: '人脸检测', description: 'faceMarker', }), },

点击一个积木块,会触发一个事件(opcode对应的事件),这个时候我想向gui里传参,并更新state中的某个值,让一个弹框组件展示出来。目前不是很清楚,如果需要实现这样需求应该怎样做,有人能帮我下吗?

Micircle commented 3 years ago

在 gui 里可以获取到 vm 的实例,可以通过 EventEmitter 事件的方式通讯

klskls0 commented 3 years ago

在 gui 里可以获取到 vm 的实例,可以通过 EventEmitter 事件的方式通讯

好的 谢谢 可以了