Apache flex Adobe Flex:当项目可见时调用函数?

Apache flex Adobe Flex:当项目可见时调用函数?,apache-flex,flex4,flex3,flash-builder,Apache Flex,Flex4,Flex3,Flash Builder,我在FlashBuilder4.6中开发Flex应用程序。我想知道当组件(在我的例子中是选项卡式对话框mx:TabNavigator上的选项卡)对用户可见时,是否有调用的函数?我尝试了creationComplete,当用户单击对话框中的第二个和第三个选项卡时,会调用它们,但当整个应用程序打开时,即在第一个选项卡可见之前,会调用第一个选项卡 谢谢,, Fred不知道您正在使用哪个特定容器,但它们都有某种类型的事件变体:IndexChangedEvent.CHILD\u INDEX\u CHANG

我在FlashBuilder4.6中开发Flex应用程序。我想知道当组件(在我的例子中是选项卡式对话框mx:TabNavigator上的选项卡)对用户可见时,是否有调用的函数?我尝试了creationComplete,当用户单击对话框中的第二个和第三个选项卡时,会调用它们,但当整个应用程序打开时,即在第一个选项卡可见之前,会调用第一个选项卡

谢谢,,
Fred

不知道您正在使用哪个特定容器,但它们都有某种类型的事件变体:IndexChangedEvent.CHILD\u INDEX\u CHANGE


这是在halo:容器上触发的,该容器是TabNav、ViewStack等的基础。spark/air等价物应该有类似的内容。

不知道您使用的是哪个特定容器,但所有容器都有某种类型的事件:IndexChangedEvent.CHILD\u INDEX\u CHANGE

这是在halo:Container上触发的,该容器是TabNav、ViewStack等的基础。spark/air等价物应具有类似的功能。

InitializationComplete()是在完全初始化选项卡(容器)的子级时调用的函数。我通常在作为ViewStack类/子类的子类的容器中重写此函数,以便在第一次显示时进行设置。您还可以侦听show事件,以便在后续节目中运行代码。出于某种原因,Flex团队决定,组件第一次显示时,它不是一个显示

但是,您的问题可能与未充分利用组件生命周期有关。什么是完整上下文?

InitializationComplete()是在选项卡(容器)的子级完全初始化时调用的函数。我通常在作为ViewStack类/子类的子类的容器中重写此函数,以便在第一次显示时进行设置。您还可以侦听show事件,以便在后续节目中运行代码。出于某种原因,Flex团队决定,组件第一次显示时,它不是一个显示


但是,您的问题可能与未充分利用组件生命周期有关。完整上下文是什么?

每个UIComponent都有Show事件,因此您可以监听它,以便知道ViewStack中的特定内容何时可见。

每个UIComponent都有Show事件,因此,您可以监听它,以便知道ViewStack中的特定内容何时可见。

您可以为其creationcomplete添加一个eventListener,或者单击事件及其索引并向其写入特定操作。可以根据请求提供代码。

您可以为其creationcomplete添加eventListener,或者单击事件及其索引并向其写入特定操作。可以根据要求提供代码。

谢谢Mike,我的组件是mx:TabNavigator中的选项卡。当一个组件变得可见时,是否有一个通用回调调用?谢谢Mike,我的组件是mx:TabNavigator中的选项卡。当组件可见时,是否有一个通用回调调用?我有一个有4个选项卡的选项卡式对话框。其中3个选项卡共享公共数据(它们都写入后端的一个config.file)。我正在努力找出共享配置的最佳方式。选项卡之间的数据。我将每个选项卡作为单独的mxml组件编写。我目前的方法是让每个选项卡在其creationComplete处理程序中加载数据,但理想情况下,我希望在第一次查看任何选项卡时加载所有3个选项卡的数据(即延迟加载)。啊,现在这更有意义了,这是基于FlexEvent.CONTENT\u CREATION\u COMPLETE的(NavigationContent的子级的内容创建策略默认设置为“自动”)这意味着创建了父shell,但在用户实际导航到之前它不是子shell。子视图不应负责加载它们自己的数据。这应由父视图提供,因此您可以执行类似操作,然后您的setter将拥有调用invalidateProperties等的数据。请注意commitProperties()可能在创建子项之前发生,因此您需要在initializationComplete中再次使属性无效。我有一个选项卡式对话框,其中有4个选项卡。其中3个选项卡共享公共数据(它们都写入后端的一个配置文件)。我正在尝试找出在选项卡之间共享配置数据的最佳方法。我将每个选项卡作为单独的mxml组件编写。我目前的方法是让每个选项卡在其creationComplete处理程序中加载数据,但理想情况下,我希望在第一次查看任何选项卡时加载所有3个选项卡的数据(即延迟加载).Ahh现在这更有意义了,它基于FlexEvent.CONTENT\u CREATION\u COMPLETE(NavigationContent的子项的内容创建策略默认设置为“自动”)这意味着创建了父shell,但在用户实际导航到之前它不是子shell。子视图不应负责加载它们自己的数据。这应由父视图提供,因此您可以执行类似操作,然后您的setter将拥有调用invalidateProperties等的数据。请注意commitProperties()可能在创建子级之前发生,因此需要在initializationComplete中再次使属性无效。