Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 在Flex中重新访问页面时未调用initialize()或creationComplete()方法_Apache Flex - Fatal编程技术网

Apache flex 在Flex中重新访问页面时未调用initialize()或creationComplete()方法

Apache flex 在Flex中重新访问页面时未调用initialize()或creationComplete()方法,apache-flex,Apache Flex,在我的flex应用程序中,我使用viewstack.selectedchild()属性来更改视图 当我通过viewstack.selectedchild()属性重新访问视图时,不会调用initialize方法 任何帮助都将不胜感激。对象已经创建,因此它不会重新初始化它已经在内存中(这在很大程度上是一件好事)。不管怎样,如果您想监听视图堆栈所选子级上的更改,只需在该子级上添加一个侦听器,并且如果每次视图更改时都需要,请在其中添加逻辑。 或者,您也可以在视图堆栈中的对象中使用show事件来获取从不可

在我的flex应用程序中,我使用viewstack.selectedchild()属性来更改视图

当我通过viewstack.selectedchild()属性重新访问视图时,不会调用initialize方法


任何帮助都将不胜感激。

对象已经创建,因此它不会重新初始化它已经在内存中(这在很大程度上是一件好事)。不管怎样,如果您想监听视图堆栈所选子级上的更改,只需在该子级上添加一个侦听器,并且如果每次视图更改时都需要,请在其中添加逻辑。
或者,您也可以在视图堆栈中的对象中使用show事件来获取从不可见变为可见的事件。

对象已经创建,因此它不会重新初始化,因为它已经在内存中(这在很大程度上是一件好事)。不管怎样,如果您想监听视图堆栈所选子级上的更改,只需在该子级上添加一个侦听器,并且如果每次视图更改时都需要,请在其中添加逻辑。 或者,当事件从不可见变为可见时,您也可以在视图堆栈中的对象中使用show事件来获取事件。

main.mxml

<mx:ViewStack id="viewstack" width="100%" height="100%">
    <s:NavigatorContent id="view1" label="view1">
    <views:view1 />
    </s:NavigatorContent>
<s:NavigatorContent id="view2" label="view2">
    <views:view2 />
</s:NavigatorContent>

main.mxml

<mx:ViewStack id="viewstack" width="100%" height="100%">
    <s:NavigatorContent id="view1" label="view1">
    <views:view1 />
    </s:NavigatorContent>
<s:NavigatorContent id="view2" label="view2">
    <views:view2 />
</s:NavigatorContent>


要回答您的特定问题,默认情况下,每个视图在最初显示时都会实例化并初始化一次(与创建完成时相同)。之后,在视图之间切换不会导致再次初始化。如果希望在所选视图更改时执行某种操作,则应为mx.events.IndexChangedEvent.CHANGE事件将侦听器附加到ViewStack。了解更多关于flex组件生命周期(包括初始化)的信息也会有所帮助。以下是我发现有用的图表:


希望有帮助。

要回答您的特定问题,默认情况下,每个视图在最初显示时都会实例化并初始化一次(与创建完成时相同)。之后,在视图之间切换不会导致再次初始化。如果希望在所选视图更改时执行某种操作,则应为mx.events.IndexChangedEvent.CHANGE事件将侦听器附加到ViewStack。了解更多关于flex组件生命周期(包括初始化)的信息也会有所帮助。以下是我发现有用的图表:


希望这能有所帮助。

我的信息仍然太少,无法完全回答这个问题。最终目标是什么,在舞台上有一个视图堆栈,并知道所选索引何时更改,您只需这样做:

<mx:ViewStack id="viewstack" width="100%" height="100%" change="changeHandler(event)">
    <s:NavigatorContent id="view1" label="view1">
    <views:view1 />
    </s:NavigatorContent>
<s:NavigatorContent id="view2" label="view2">
    <views:view2 />
</s:NavigatorContent>
</mx:ViewStack>

在changeHandler函数中,您可以使用event.selectedIndex属性来了解当前显示的是哪一项。。。或者,您可以查看view1.visible属性。通过执行viewStack.selectedIndex=0或viewStack.selectedChild=view1,可以通过编程方式更改显示的内容

此外,如果您想从组件内部(如在view1的mxml中)了解情况,可以使用show属性,例如:

<views:view2 show="showHandler(event)"/>

我的信息仍然太少,无法完全回答这个问题。最终目标是什么,在舞台上有一个视图堆栈,并知道所选索引何时更改,您只需这样做:

<mx:ViewStack id="viewstack" width="100%" height="100%" change="changeHandler(event)">
    <s:NavigatorContent id="view1" label="view1">
    <views:view1 />
    </s:NavigatorContent>
<s:NavigatorContent id="view2" label="view2">
    <views:view2 />
</s:NavigatorContent>
</mx:ViewStack>

在changeHandler函数中,您可以使用event.selectedIndex属性来了解当前显示的是哪一项。。。或者,您可以查看view1.visible属性。通过执行viewStack.selectedIndex=0或viewStack.selectedChild=view1,可以通过编程方式更改显示的内容

此外,如果您想从组件内部(如在view1的mxml中)了解情况,可以使用show属性,例如:

<views:view2 show="showHandler(event)"/>

当您从“不可见”传递到“可见”时,组件的show()事件被调度, 因此,以下代码不适用于viewstack中包含的组件

<s:NavigatorContent id="view1" label="view1">
 <views:view2 show="showHandler(event)"/>
</s:NavigatorContent>
可以通过标签区分多个零部件

Cheers

组件的show()事件在您从“不可见”传递到“可见”时被调度, 因此,以下代码不适用于viewstack中包含的组件

<s:NavigatorContent id="view1" label="view1">
 <views:view2 show="showHandler(event)"/>
</s:NavigatorContent>
可以通过标签区分多个零部件


Cheers

我更改了主应用程序中的viewstack.selectedchild,viewstack对象是mxml组件。如何从主应用程序设置mxml组件的visible属性?我上传了一个代码段。。希望有帮助!!嗯,我想我不明白。。。如果您有一个mxml组件,并且您只想更改visible属性,那么您可以给mxml组件一个id,然后说myComponentId.visible=false或true。。。我想你想要的是当这种情况发生变化时你会怎么做。。。在自定义MXML类中,只需添加一个show属性,该属性将期望函数作为值,然后每当visible属性从false更改为true时(无论是通过视图堆栈还是通过编程方式),它都会调用该函数。如果我走错了路,就发布一些消息来源。立即检查代码段我无法粘贴代码。。浏览器问题可能是。。这是我用的例子。。而不是模块。。我使用了navigatorContent..我更改了主应用程序中的viewstack.selectedchild,viewstack对象是mxml组件。如何从主应用程序设置mxml组件的visible属性?我上传了一个代码段。。希望有帮助!!嗯,我想我不明白。。。如果您有一个mxml组件,并且您只想更改visible属性,那么您可以给mxml组件一个id,然后说myComponentId.visible=false或true。。。我想你想要的是当这种情况发生变化时你会怎么做。。。在自定义MXML类中,只需添加一个show属性