8. 事件
组件可以向层级结构上方派发事件。
Emit / On
csharp
public class Counter : SusComponent
{
public Prop<int> Count = new(0);
private void Increment()
{
Count.Value++;
Emit("count-changed", Count.Value);
}
}
// Consumer:
var counter = new Counter();
counter.On("count-changed", (Action<int>)(newVal =>
{
Debug.Log($"Counter is now {newVal}");
}));
root.Add(counter);通过 Prop<T>
响应式属性是组件之间传递数据的主要方式:
csharp
public class Parent : SusComponent
{
public Prop<int> SharedCount = new(0);
protected override void Build()
{
var child = new ChildCounter { Count = SharedCount };
Add(child);
}
}