(this.parent as 父级类型).父级变量/父级方法;
父级类型即父级mxml的名称
这种方法适合使用addchild添加的子级,如果是使用的PopUpManager的方法,
需要使用this.parentApplication.父级变量/父级方法
当父类不是Application的时候,上面那种方法又会出错,这时就要用回调函数了。假设当前窗口为thisWindow,弹出窗口为popupWindow。
首先在popupWindow中定义Function类型的公共变量
[Bindable]
public var callbackFunction:Function;
在thisWindow中,在创建popupWindow的位置,同时将popupWindow的callbackFunction变量指向当前类的某个方法,这个方法就是提供给popupWindow回调的方法
corpBasicWindow.callbackFunction =this.callFunction;
...
// 提供给弹出窗口的回调函数
private function callFunction():void{
...
}
然后,就在popupWindow里使用callbackFunction.call(this);来调用thisWindow中的方法。
-----------------------------------------------------------------------------------------------------------------------------------------------------
1:当它们都是组件时
父窗口中:
<mx:Button label="新增" click="add_clickHandler(event)"/>
protected function add_clickHandler(event:MouseEvent):void
{
addWin = new addOrModify();
PopUpManager.addPopUp(addWin,this,true);
addWin.callFunction = this.本窗口方法;//这是关键
}
子窗口中:
public var callFunction:Function;
callFunction.call(parent);
2:父窗口是module,子窗口是组建
子窗口:this.parentDocument.父窗口方法名 就ok了
-----------------------------------------------------------------------------------------------------------------------------------------------------
flex3是使用楼主说的那个,
flex4是用这个
import mx.core.FlexGlobals;
FlexGlobals.topLevelApplication....