消息通道
基本上,组件和组件、组件和场景是不相关联的。这意味着组件中的触发和反应不能分配给组件外的图层和变量。同时,场景和嵌套组件中的触发和反应不能分配给组件中的图层和变量。
在组件内可以使用发送反应动作和接收触发动作对外部(场景或主控组件)进行消息收发。通过这种方式,外部可以改变组件的状态,组件内发生既定事件时组件也可以改变外部的状态。
当然,也可以在组件内部发送和接收消息。
发送(反应动作)
发送到主控组件 (仅对嵌套组件有效)
从组件内部向外部(场景或嵌套组件中的主控组件)发送消息时所使用的通道。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/2115a41c89e2b9d4e7a29739062edba2848568d5-2175x1200.png/Send-to-Parent.png)
发送到子组件
在嵌套组件中向子级组件发送消息时所使用的通道。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/0eec885431440cbf23736ecde89f75c276a938e3-2175x1200.png/Send-to-Child-Component.png)
发送到当前场景
向组件内部或组件所在场景发送消息时所使用的通道。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/29bf4b4ae2cf770c87248cbe5a92dcae11e4fe53-2175x1200.png/Send-to-Current-Scene.png)
发送到当前组件
仅向当前组件内部发送消息时所使用的通道。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/aafe04eef672d1c020e8bfb65b5c347c143aa651-2175x1200.png/Send-to-Current-Component.png)
接收触发动作
从主控组件接收
接收从外部(场景或嵌套组件中的主控组件)发来的消息时所使用的通道。用于当外部向组件发送特定消息时使组件的状态随之发生改变。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/48657f12f0e5a3caefc283d94f2d15dcdc5af253-2175x1155.png/Receive-from-Parent.png)
从子级组件接收
在嵌套组件中接收从子级组件发来的消息时所使用的通道。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/bb7529808cdae398a4ee050bb71dfa1c08e1a545-2175x1155.png/Receive-from-child-component.png)
从当前场景接收
接收从场景或主控组件发来的消息时所使用的通道。例如使用一个全选按钮实现对所有子版勾选框组件进行全部勾选或全部取消勾选。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/b3d3a91648ab9732fd13c18f4c238783f6f220ca-2175x1155.png/Receive-from-current-scene.png)
从当前组件接收
仅接收从当前组件内部发来的消息时所使用的通道。选择从当前组件接收后,组件外部(场景或主控组件)将不能再接收到相应的消息。
![[object Object]](https://cdn.sanity.io/images/vidqzkll/production/993800e909c584c80f2319d5a7d1c6ed89a56d9f-2175x1155.png/Receive-from-current-component.png)