Flex 中是否有 init() 方法,如 Servlet init() 只执行一次

发布于 2024-11-26 04:30:26 字数 87 浏览 2 评论 0原文

Flex 具有任何 init()、destroy() 方法。就像 Servlet init() 方法将在应用程序初始化时运行,并且如果刷新页面也不会再次调用它。

Flex having any init(), destroy() method. Like Servlet init()method will run at Application initialize and never call it again if Refresh the Page also.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

稍尽春風 2024-12-03 04:30:26

我建议不要使用初始化事件,而使用creationComplete。所有 UIComponent 在完成自身及其子组件的构建后都会调度该事件。该事件在组件初始化、有机会测量自身、执行布局并添加到舞台后执行一次。

<mx:Application ... creationComplete="init()"/>
   <mx:Script>
       private function init() : void {
           ...  // put your initialization routine here
       }
   </mx:Script>
</mx:Application>

I would suggest not using initialize event, and instead use creationComplete. All UIComponent dispatch that event when they are finished constructing themselves AND their children. This event is executed once after the component has been initialized, had a chance to measure itself, perform layout, and added to the stage.

<mx:Application ... creationComplete="init()"/>
   <mx:Script>
       private function init() : void {
           ...  // put your initialization routine here
       }
   </mx:Script>
</mx:Application>
自此以后,行同陌路 2024-12-03 04:30:26

所有 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();
  }
}

All flex components, including the root "application" component have an "initlize" event that you can listen to and handle.

If you'd like it to only run ONCE, regardless of refresh, you'd need to store a variable somehow, such as with a local shared object. That's pretty easy to do:

private function onInit():void{
  var appSO:SharedObject = SharedObject.getLocal("yourappdata");
  if(appSO.size < 0){
    //do your init code
    appSO.data.initialized = true;
    appSO.flush();
  }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文