浏览 4045 次
锁定老帖子 主题:Flex 关于validateNow方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-11-18
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内部数据报空指针的完美解决。 此方法应该也适用于其他组件,就不一一举例了,各位可自行尝试,祝好运:) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |