我有一个包含 2 个组件的主要 xml 文件。组件 1 是上传组件 组件 2 是带有列表的网格。两者都处于相同的视图状态,但我希望在组件 1 中上传文件时更新组件 2。
所以我的问题是:如何从组件 1 向组件 2 发送触发器,以便它知道必须更新网格?
我有一个包含 2 个组件的主要 xml 文件。组件 1 是上传组件 组件 2 是带有列表的网格。两者都处于相同的视图状态,但我希望在组件 1 中上传文件时更新组件 2。
所以我的问题是:如何从组件 1 向组件 2 发送触发器,以便它知道必须更新网格?
对于组件之间的通信,使用事件。
例如,只要上传完成,组件 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()" />