我想在整个应用程序中在几个不同的位置显示一个Flex组件。并且它应该是组件的相同实例,而不是副本。因此,我认为将组件作为Singleton。
但问题是:
当我这样做时: 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中的孩子。
有谁有办法解决这个问题吗?
发布于 2009-08-10 15:32:00
如果您希望在多个位置显示组件,那么它必须是副本,因为它是要显示的组件本身。为什么需要组件是Singleton?是否只有底层数据需要来自同一位置?在这种情况下,您可以只将显示组件引用相同的数据。
如果您确实需要在多个地方使用相同的组件,那么无论何时显示,您都必须移动它。
例如:
vb1.addChild(new MyComponent(MyData.getInstance()));
vb2.addChild(new MyComponent(MyData.getInstance()));https://stackoverflow.com/questions/1255572
复制相似问题