0

我有一个包含 2 个组件的主要 xml 文件。组件 1 是上传组件 组件 2 是带有列表的网格。两者都处于相同的视图状态,但我希望在组件 1 中上传文件时更新组件 2。

所以我的问题是:如何从组件 1 向组件 2 发送触发器,以便它知道必须更新网格?

4

1 回答 1

1

对于组件之间的通信,使用事件。

例如,只要上传完成,组件 1 内部就会发送一个“完成”事件:

dispatchEvent(new Event(Event.COMPLETE));

现在监听这个事件并告诉组件 2 要做什么。在你的主课上做这样的事情:

component1.addEventListener(Event.COMPLETE, handleUploadComplete);

private function handleUploadComplete(event:Event):void {
    component2.updateGrid();
}

如果您需要 MXML 支持,请将以下元数据添加到组件 1:

[Event(name="complete", type="flash.events.Event")]

然后,您可以像这样监听事件,FlashBuilder 将建议事件处理程序:

<Component1 complete="handleUploadComplete()" />
于 2012-08-06T12:15:21.050 回答