Flex 3 - 强制所有控件在开始时渲染

时间:2009-10-04 21:01:05

标签: flex

当我尝试在动作脚本中访问我的选项卡导航器控件的隐藏TAB时,它会返回null错误。但是如果我只是在用户界面中激活一次控件就行了。显然,直到我使用它才会创建控件。如何在默认情况下自动创建所有选项卡?

3 个答案:

答案 0 :(得分:12)

<mx:TabNavigator creationPolicy="all"/>

应该这样做。延迟实例化是一项功能,但有时却很麻烦。

答案 1 :(得分:0)

Flex框架优化创建是默认的(creationPolicy =“auto”),所以如果您有一个包含很多选项卡的配置对话框,并且最有用的选项卡是第一个,那么您的应用程序不会花费时间和内存初始化用户从未见过的标签。

当像这样的对话从未发布时,这会产生很大的不同,并且是一个很好的默认设置。

要注意的一件事是在对话框/表单中使用私有变量,而不是将数据推送到隐藏页面上的控件。这种风格将整个表单视为一个组件,它就是一个组件。重复:MXML表单/ dialog / canvas是一个类,除了包含其他组件外,它还可以包含数据和方法。

干杯

答案 2 :(得分:0)

另一方面,我在多状态应用程序中遇到了延迟加载策略,并通过强制所有元素在初始状态中包含和不可见来规避它。需要考虑的事情,但只是作为一个黑客。