[英]Flex: DisplayObject Singleton
我想在整個應用程序中的多個不同位置顯示Flex組件。 並且它應該是組件的相同實例,而不是副本。 因此,我認為將組件作為單例。
但是問題是:
當我做這樣的事情時:var vb1:VBox = new VBox(); var vb2:VBox = new VBox();
var comp : MyComponent = new MyComponent.getInstance();
vb1.addChild(comp);
vb2.addChild(comp);
該組件僅顯示在“ vb2”中。 我認為當我們調用vb2.addChild(comp)時,它將刪除vb1中的子級。
有誰知道如何解決這個問題?
如果要在多個位置顯示組件,則必須是副本,因為它是顯示的組件本身。 為什么您需要將該組件設為Singleton? 僅僅是基礎數據需要來自同一位置嗎? 在這種情況下,您只需將顯示組件引用到同一數據即可。
如果確實確實需要在多個地方使用相同的組件,則必須在每次顯示時都將其移動。
例如:
vb1.addChild(new MyComponent(MyData.getInstance()));
vb2.addChild(new MyComponent(MyData.getInstance()));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.