首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

flex自定义组件之间传值的有关问题

2012-04-25 
flex自定义组件之间传值的问题在我的项目中有两个 flex Component文件,我想将第一个组件中的结果,传给第二

flex自定义组件之间传值的问题
在我的项目中有两个 flex Component文件,我想将第一个组件中的结果,传给第二个组件,如何做?
(第一个文件通过函数得到了一个ArrayCollection类型结果,我想将它绑定到第二个组件的datagird上)
绑定之类我会,现在就是无法将那个值传过去,第一个组件是一个弹出窗口,就是在第二个组件上点击按钮然后弹处这个窗口,在窗口中经过处理函数,在将值返回给第一个组件(如何弹窗口我也会,现在就是传值的问题~)

[解决办法]
在第一个组件中加一公共属性,比如:
public var component:UIComponent = null;

然后第二个组件中创建第一个组件(假如它叫component2)后:
var component2:Component2 = new Component2();
component2.component = this;
PopUpManager.addPopUp(component2, this, true);

第一个组件获取ArrayCollection(假设它是arrayCollection)后:
private function resultHandler(event:ResultEvent):void
{
......

if (component && component["dataGrid"]) // 假设组件2中的DataGrid的id为dataGrid
(component["dataGrid"] as DataGrid).dataProvider = arrayCollection;
}

[解决办法]
弹出的窗口panel定义一个
[Bindable]
Public var obj : Object;

在把obj。xx属性绑定到你想要的控件上


PopUpManager.addPopUp(panel, this, true); 
panel。obj = this.obj

这样就可以传值了

热点排行