Flex: DisplayObject Singleton - PullRequest
       14

Flex: DisplayObject Singleton

0 голосов
/ 10 августа 2009

Я хочу отображать Flex-компонент в нескольких разных местах приложения. И это должен быть тот же экземпляр компонента, но не копии. Поэтому я думаю о создании компонента как синглтона.

Но проблема в следующем:

когда я делаю что-то вроде этого: var vb1: VBox = новый VBox (); var vb2: VBox = новый VBox ();

var comp : MyComponent  = new MyComponent.getInstance();  

vb1.addChild(comp); 
vb2.addChild(comp); 

Компонент отображается только в «vb2». Я думаю, что когда мы вызываем vb2.addChild (comp), удаляет ребенка в vb1.

У кого-нибудь есть идеи о том, как решить эту проблему?

1 Ответ

2 голосов
/ 10 августа 2009

Если вы хотите, чтобы компонент отображался в нескольких местах, то это должны быть копии, поскольку отображается сам компонент. Зачем вам нужен компонент, чтобы быть синглтоном? Только исходные данные должны поступать из одного и того же места? В этом случае вы можете просто отнести компоненты дисплея к одному и тому же фрагменту данных.

Если вам действительно нужен один и тот же компонент в нескольких местах, вам придется перемещать его всякий раз, когда он отображается.

Например:

vb1.addChild(new MyComponent(MyData.getInstance()));
vb2.addChild(new MyComponent(MyData.getInstance()));
...