Actionscript 3 使用creationPolicy=“auto”在Actionscript中创建ViewStack

Actionscript 3 使用creationPolicy=“auto”在Actionscript中创建ViewStack,actionscript-3,flex4,Actionscript 3,Flex4,在MXML中,当我将组件添加到ViewStack并且creationPolicy是自动的时,组件在切换到它们之前不会被实例化。比如,我有以下代码: <mx:ViewStack creationPolicy="auto"> <s:NavigatorContent> <s:DataGrid id="dg1" width="300"/> </s:NavigatorContent> <s:NavigatorCo

在MXML中,当我将组件添加到ViewStack并且creationPolicy是自动的时,组件在切换到它们之前不会被实例化。比如,我有以下代码:

<mx:ViewStack creationPolicy="auto">
    <s:NavigatorContent>
        <s:DataGrid id="dg1" width="300"/>
    </s:NavigatorContent>
    <s:NavigatorContent>
        <s:DataGrid id="dg2" width="100"/>
    </s:NavigatorContent>
</mx:ViewStack>
如何在ActionScript中复制此行为?
问题是我的数据网格包含大量数据,因此我不希望同时创建这些数据。

看起来ViewStack类上有creationPolicy属性。像这样的东西应该有用

var v:ViewStack = new ViewStack();
v.creationPolicy = "auto";


var t1:NavigatorContent = new NavigatorContent();
t1.addElement(new DataGrid());

v.addElement(t1);

看起来ViewStack类上有creationPolicy属性。像这样的东西应该有用

var v:ViewStack = new ViewStack();
v.creationPolicy = "auto";


var t1:NavigatorContent = new NavigatorContent();
t1.addElement(new DataGrid());

v.addElement(t1);

请试试这个

var v:ViewStack = new ViewStack();
v.creationPolicy = "auto";

var container:SkinnableContainer = new SkinnableContainer();
container.creationPolicy = "none";

var dg:DataGrid = new DataGrid();
container.addElement(dg);

var t1:NavigatorContent = new NavigatorContent();
t1.addElement(container);

v.addElement(t1);
在viewstack\u更改处理程序之后,我们需要调用

container.createDeferredContent基于要查看的索引视图


有关更多详细信息,请试用此款

var v:ViewStack = new ViewStack();
v.creationPolicy = "auto";

var container:SkinnableContainer = new SkinnableContainer();
container.creationPolicy = "none";

var dg:DataGrid = new DataGrid();
container.addElement(dg);

var t1:NavigatorContent = new NavigatorContent();
t1.addElement(container);

v.addElement(t1);
在viewstack\u更改处理程序之后,我们需要调用

container.createDeferredContent基于要查看的索引视图

有关更多详细信息,请参见

希望这对您有所帮助希望这对您有所帮助