2011-05-16 47 views
0

我在CustomPanel.mxml的方法,我需要使用id這是Main.mxml如何獲取Main.mxml文件的id值到CustomPanel.mxml文件?

可用下面是我的示例代碼

Main.mxml

<local:CustomDivideBox id="div1"> 

Custompanel.mxml

private function xxxx(){ 
    div1.state = (div1.state == CustomDividedBox.COLLAPSE ? CustomDividedBox.EXPAND : CustomDividedBox.COLLAPSE); 

} 

請提供一些示例代碼。

感謝, 納文

+0

Custompanel.mxml是否也在main.mxml中創建? – 2011-05-16 23:37:35

回答

0

爲什麼你需要的ID,當你在對象是了嗎?在自定義組件中使用'this'運算符。

private function xxxx(){ 
    this.state = (this.state == CustomDividedBox.COLLAPSE ? CustomDividedBox.EXPAND : CustomDividedBox.COLLAPSE); 
} 

這是非常基本的面向對象的概念,我建議你閱讀它。

編輯: 哦,等等,那些是2個不同的組件。你想做的是調度內Custompanel.mxml,其Main.mxml偵聽並知道在其他組件做一個事件:

Main.mxml

customPanel.addEventListener('someEvent', someEventHandler); 

private function someEventHandler(e:Event):void 
{ 
    div1.doSomething(); 
} 

CustomPanel.mxml

private function xxxx(){ 
    this.dispatchEvent(new Event('someEvent')); 
} 
+0

你能否給我提供示例代碼... – user737830 2011-05-16 14:49:03

+0

添加了解釋代碼。 – 2011-05-16 15:17:08

0

如果你想在主應用程序的參考,您可以使用:

FlexGlobals.topLevelApplication 

在你儘管你應該聽J_A_X。