我正在使用 FlashBuilder 4.6 开发 Flex 应用程序。我想知道当组件(在我的情况下是选项卡式对话框 mx:TabNavigator 上的选项卡)对用户可见时是否调用了一个函数?我尝试了creationComplete,当用户单击它们时,它会在我的对话框中调用第二个和第三个选项卡,但是当整个应用程序打开时,即在第一个选项卡可见之前,它会调用第一个选项卡。
谢谢你,弗雷德
我正在使用 FlashBuilder 4.6 开发 Flex 应用程序。我想知道当组件(在我的情况下是选项卡式对话框 mx:TabNavigator 上的选项卡)对用户可见时是否调用了一个函数?我尝试了creationComplete,当用户单击它们时,它会在我的对话框中调用第二个和第三个选项卡,但是当整个应用程序打开时,即在第一个选项卡可见之前,它会调用第一个选项卡。
谢谢你,弗雷德
InitializationComplete() 是在选项卡(容器)的子项已完全初始化时调用的函数。我通常在作为 ViewStack 类/子类的子类的 Container 中覆盖此函数,以便在首次演出时进行设置。您还可以监听 show 事件以在后续节目中运行代码。出于某种原因,Flex 团队决定组件第一次展示时,它不是展示。
但是,您的问题可能与未充分利用组件生命周期有关。完整的上下文是什么?
不知道您使用的是哪个特定容器,但它们都有某种事件的变体:IndexChangedEvent.CHILD_INDEX_CHANGE
这是在 halo:Container 上触发的,它是 TabNav、ViewStack 等的基础。火花/空气等价物应该有类似的东西。
您可以为其创建完成添加一个 eventListener 或单击事件及其索引,并向其写入特定操作。可根据要求提供代码。
每个 UIComponent 都有 Show Event,因此您可以监听它以了解 ViewStack 中的特定内容何时可见。