在Flex中进行组件初始化期间设置变量

问题描述 投票:0回答:2

我正在加载一个组件,该组件将进行HTTPService调用以获取数据,然后该数据将用于在组件中设置某些变量。 我在init()函数中调用HTTPService(用于初始化事件),然后根据在HTTPService结果处理程序中接收到的数据设置变量。 但是,在初始化阶段和creationComplete阶段,变量仍为null。 如果尝试读取creationComp()函数中的变量(对于creationComplete事件),则这些变量仍为空。 这个对吗?

我想我不太了解Flex初始化周期。 这些变量何时真正设置并可以使用? 组件加载后,我需要自动操作这些变量。 在creationComplete之后是否有合适的事件或其他解决方法? 我正在使用Flex 3。

apache-flex variables flex3 initialization components
2个回答
2
投票

您对Flex组件生命周期的理解是正确的; 初始化事件在creationComplete之前触发。

但是,HTTPService调用是一个单独的异步操作。 不能保证在creationComplete事件触发时调用结果处理程序。 您应该在结果处理程序中对变量进行操作。


1
投票

您应该考虑防止从组件分派creationComplete事件,直到HTTPService返回为止,然后自己手动分派该事件。

这样可以解决您的计时问题。

© www.soinside.com 2019 - 2024. All rights reserved.