Flex有任何init(),destroy()方法。像Servlet init()方法将在Application初始化时运行,并且如果也刷新页面,则永远不会再调用它。Flex中是否有像init()方法的init()方法只有一次执行
回答
所有的flex组件,包括根“应用程序”组件都有一个“initlize”事件,您可以监听和处理。
如果你希望它只运行一次,不管是否刷新,你都需要以某种方式存储一个变量,比如使用本地共享对象。这很容易做到:
private function onInit():void{
var appSO:SharedObject = SharedObject.getLocal("yourappdata");
if(appSO.size < 0){
//do your init code
appSO.data.initialized = true;
appSO.flush();
}
}
我会建议不要使用初始化事件,而是使用creationComplete。所有UIComponent在完成构建自己及其子项时都会派发该事件。该事件在组件初始化后有一次执行,有机会进行自我测量,执行布局并添加到舞台上。
<mx:Application ... creationComplete="init()"/>
<mx:Script>
private function init() : void {
... // put your initialization routine here
}
</mx:Script>
</mx:Application>
这完全是我猜想的上下文。如果您不需要对视觉元素进行任何操作,例如拨打服务电话,则优先使用初始化。大型布局可能需要很长时间才能构建,可能会浪费时间来花费时间从服务器请求数据。 –
是的,但是当这个人试图从组件中拉出某些东西并且得到空值时,它们都会困惑为什么儿童是空的或者对象上的某些属性尚未设置。因此,为了解决这些潜在问题中的一些,请使用creationComplete。我很高兴你发布了你的观点,因为它确实显示了我们建议的每件事情的更多深度。 – chubbsondubs
- 1. “class_copyMethodList”只返回init方法
- 2. 春init方法
- 3. 爪哇 - 执行方法只有一次
- 4. 的UITableViewController init方法
- 5. 在iOS中是否有始终调用的init方法?
- 6. vue.js中是否有像angularjs中的ng-init那样的函数或方法?
- 7. Init方法继承
- 8. init方法模式
- 9. AVPlayers的init方法有泄漏吗?
- 10. 是否有任何给struts2动作类的init方法?
- 11. 先从init方法或没有?
- 12. - (id)init方法有什么好处?
- 13. 执行的方法只有
- 14. 只要init调用[super init],在Objective C自定义init方法中调用[self init] OK?
- 15. 有没有一种方法可以在操作之后重新执行postconstract init方法?
- 16. $ scope.ons.navigator.pushPage不是在init()方法的工作
- 17. 什么是servlet的init()方法用于?
- 18. UIVIewController自定义init方法
- 19. 自定义init方法
- 20. HttpModule Init方法不叫
- 21. Spring配置Init方法
- 22. 不匹配-init方法名
- 23. 春init和destroy方法
- 24. 使用A .__ init __()方法
- 25. 战争部署init方法
- 26. ServletContextListener v/s init()方法
- 27. 不要让 - - (id)init;方法
- 28. 子类init方法只调用基础初始化方法
- 29. 实现像这样的Objective C init方法有什么意义?
- 30. 调用init方法失败;嵌套异常是java.lang.NoSuchMethodError:org.objectweb.asm.ClassWriter。 <init>
请接受您发布的其他问题的正确答案。你问的大部分问题都有可以接受的有效答案。 –