`
shlei
  • 浏览: 288658 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flex 关于validateNow方法

阅读更多
validateNow();

官方解释:验证并更新此对象的属性和布局,如果需要的话重绘对象。通常只有当脚本执行完毕后,才会处理要求进行大量计算的处理属性。如果脚本多次设置了 width 属性,则延迟处理可防止进行多次处理。此方法允许您手动覆盖此行为。

个人理解:验证组件的加载完成度,也就是说,当你想调用组件的属性方法,但又怕组件在调用时未加载完成造成“TypeError: Error #1009: 无法访问空对象引用的属性或方法。”,这时,在你要调用组件的属性方法前面加上validateNow();,avm就会等此组件加载完成后继续执行下面的代码,就不会存在空指针了,典型应用:
validateNow();
cmdbTree.expandChildrenOf(relationXML,true);

这样写可以保证Tree组件在页面加载完成后展开所有节点,如果不加,展开节点的代码就会在组件加载完成之前执行,以至于代码失效,节点无法展开。
dModelingVS.selectedIndex = 1;
validateNow();
dmGuide.baseInfo.getInfo(deviceDG.selectedItem.uid);

baseInfo是s:NavigatorContent,加了此方法就不会报空指针了,是对ViewStack转换tab时外部调用tab内部数据报空指针的完美解决。
此方法应该也适用于其他组件,就不一一举例了,各位可自行尝试,祝好运:)
分享到:
评论

相关推荐

    Flex中方法调用顺序的思考

    例如,如果你发现某个属性没有正确更新,可能是因为它在错误的阶段被设置,或者没有调用`validateNow()`方法来立即刷新组件状态。 综上所述,深入理解Flex中的方法调用顺序对于编写高效、健壮的Flex应用至关重要。...

    flex 4 生命周期

    `validateDisplayList`和`validateNow`方法确保组件的视觉表示与内部状态同步。 在应用运行期间,组件可能会根据数据绑定或用户交互发生变化,`propertyChange`事件和`commitProperties`方法用于处理这些动态更新。...

    精讲Flex4组件开发(附源码)

    例如,`createChildren()` 方法用于创建组件的子元素,`measure()` 方法计算组件大小,`layout()` 处理组件布局,`updateDisplayList()` 更新可视表示,而`commitProperties()` 和`validateNow()` 等方法则用于同步...

    flex3_4 lifecycle

    Flex 4引入了更多的生命周期方法,比如preUpdate(), updateDisplayList(), commit(), 和 render(),这些方法让开发者能够更好地控制组件的渲染过程。同时,Flex 4的组件模型支持自定义布局,使开发者可以创建更复杂...

    flex form 验证(转)

    - 错误消息通常通过`mx:FormError`组件显示,或者通过`validateNow()`方法手动触发验证。 5. **自定义验证** Flex允许我们创建自定义验证规则。这通常通过继承`mx.validators.Validator`类并覆盖其`validate()`...

    flex tree+checkbox级联勾选

    6. **同步Tree视图**:最后,为了使改变立即体现在界面上,需要调用Tree的validateNow()方法来刷新视图。 通过以上步骤,我们就能实现Flex Tree + Checkbox的级联勾选功能。在实际应用中,可能还会涉及到性能优化,...

    【完美翻译】Flex组件的生命周期

    - **validateDisplayList()** 和 **validateNow()**:这两个方法用于强制组件立即更新其显示列表,通常在属性更改后调用。 7. **运行阶段**: - **进入视野**和**离开视野**:当组件进入或离开舞台时,会触发`...

    Flex 3 3d源码

    4. 通过调用`validateNow()`方法强制对象立即更新其显示。 5. 可能还需要处理鼠标或触摸事件,以实现用户交互式的旋转控制。 通过以上内容,我们可以深入研究Flex 3的3D旋转实现,进一步提升在富互联网应用开发中的...

    flex横向条形图增加滚动条分页显示数据

    barChart.validateNow(); } ``` 这里,`chartWidthPerPage`是每个数据页面的宽度,`loadPage`是一个假设的函数,用于从服务器或本地数据源加载指定页面的数据。 5. **优化滚动体验**:为了让滚动更加流畅,可以...

    Flex 4.5 实现tree拖拽到任意组建

    - 如果需要在拖放过程中更新UI,确保使用`validateNow()`或`validateDisplayList()`方法来强制立即刷新显示列表。 - 考虑到性能,可能需要在拖放开始时暂停自动重绘,而在拖放结束时恢复。 通过以上步骤,你可以...

    flex多曲线图,实时更新

    curveChart.validateNow(); // 强制刷新图表 } // 每秒更新一次 var timer:Timer = new Timer(1000, 0); timer.addEventListener(TimerEvent.TIMER, updateData); timer.start(); ``` 四、曲线滚动与鼠标悬停显示...

    flex_locale.zip

    "flex_locale.zip"这个压缩包显然包含了关于Flex如何进行国际化设置的示例教程。 在Flex中,国际化主要是通过`ResourceBundle`类和`locale`属性来实现的。`ResourceBundle`是Flex提供的一套资源管理机制,它允许...

    FLEX双击左右移动表格中的数据

    dataGrid.validateNow(); // 更新视图 ``` 5. **示例代码**: 在提供的`leftRightMove.mxml`文件中,应当包含了完整的应用程序代码。这个小程序应该已经实现了上述逻辑,包括创建数据网格、设置事件监听器以及...

    Flex中弹出对话框的定制

    ### Flex中弹出对话框的定制 在Flex开发过程中,弹出对话框是与用户交互的一个常见需求。本文将深入探讨如何在Flex中定制弹出对话框,包括基础的警告框、确认框以及带有取消选项的确认框。通过具体代码示例来详细...

    flex自动验证组建(插件)

    通过将`Validator`对象添加到控件的`validators`集合,可以在控件的`validateNow()`方法被调用时触发验证。当验证失败时,`Validator`会返回一个错误对象,开发者可以捕获这个错误并显示相应的错误提示。 在"flex...

    Flex4视频教程_02-01事件概述.rar

    这个“Flex4视频教程_02-01事件概述”涵盖了关于Flex4中的事件处理系统的基础知识,这对于理解Flex应用程序中的交互逻辑至关重要。下面我们将深入探讨Flex4中的事件模型及其相关概念。 在Flex4中,事件是表示应用...

    flex实现的风向杆

    这可能涉及到计算新的旋转角度,然后调用validateNow()方法强制组件立即重绘。 在Flex项目中,我们还会用到样式表(CSS)来控制组件的样式,比如风向杆的颜色、边框和阴影等。通过定义皮肤和样式,可以实现组件的...

    flex 表单数据合法性验证

    每个表单组件都有一个validateNow()方法,用于立即触发验证。同时,我们可以添加Validator对象到这些组件,为它们定义特定的验证规则。 2. **自定义验证器**: 在`FormValidator.as`文件中,我们可能看到自定义...

    Flex 带时间的DateField的

    2. 时间选择事件处理:可能包含`validateNow()`或`commitUpdate()`方法,这些方法在用户选择日期或时间后调用,更新数据模型。 3. 自定义格式化:可能有`formatString`属性,允许用户自定义日期和时间的显示格式。 ...

    flex游戏引擎(PushButton)--键盘控制组件-移动小球

    此外,每次更新小球位置后,我们都需要调用validateNow()方法来立即刷新显示,确保用户可以看到小球的移动。 在提供的压缩包文件"Lesson4Base.swf"中,我们可以看到这个概念已经被实现并打包成了一个可运行的SWF...

Global site tag (gtag.js) - Google Analytics