0

アプリケーション全体のいくつかの異なる場所に 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 の子が削除されると思います。

この問題を解決する方法を知っている人はいますか?

4

1 に答える 1

2

コンポーネントを複数の場所に表示する場合は、コンポーネント自体が表示されるため、コピーする必要があります。コンポーネントをシングルトンにする必要があるのはなぜですか? 同じ場所から取得する必要があるのは、基礎となるデータだけですか? その場合、表示コンポーネントを同じデータに参照するだけで済みます。

複数の場所で同じコンポーネントが本当に必要な場合は、表示されるたびに移動する必要があります。

例えば:

vb1.addChild(new MyComponent(MyData.getInstance()));
vb2.addChild(new MyComponent(MyData.getInstance()));
于 2009-08-10T15:32:00.353 に答える