2010-02-24 41 views
1

說我有一些代碼在我的主MXML和這樣的功能:如何訪問Flex3/AS3中的root?

this.addChild(someContainer); 

,現在我要重構代碼,並在一個單獨的文件移動到這個它自己的類和方法。我現在怎麼能訪問root,因爲這顯然現在指向我創建的新類。

+0

你想要一個孩子把自己添加到他的父母?這是不可能的。 – Pbirkoff 2010-02-24 13:30:08

回答

2

您可以使用類似Application.application,Application.root或事件this.root(取決於你的需求)

但我would'nt提供建議(嘗試重構你的代碼,這樣就可以通過一個參考你的主或類似的東西......)。

問題是:你新創建的類是否負責將子元素添加到組件中?那麼我會建議你,讓它可以傳遞給任何一種Container的參考;並在你主mxml中,你傳遞給root的引用。

也可能是新的類只對暴露的東西負責;在這種情況下,您可能會在主窗口中留下「this.addChild(...)」代碼。

希望這有助於。

+0

我試着將它從Main傳遞給類構造函數來緩存並從那裏使用它,但是我無法從那裏訪問addChild。 Application.application.addChild似乎可以做到這一點。 – Keyframe 2010-02-24 13:39:04

+0

你是對的,我想我混合Application.application,Application.root和this.root ...我會修復我的答案。 – phtrivier 2010-02-24 13:50:58