2011-02-18 32 views
0

当我运行这个程序时,“showAPplication”方法首先运行。我只是有点困惑,为什么“showApplication”方法在“complete”方法之前运行?为什么会发生这种情况?当我第二次调用它时,为什么我的一个方法被调用时能否先运行一次?

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"> 

    <s:applicationComplete> 
     <![CDATA[ 
      complete(); 
      showApplication(); 
     ]]> 
    </s:applicationComplete> 

    <fx:Script> 
     <![CDATA[ 
      import mx.controls.Alert; 

      private function complete(): void { 
       Alert.show("wewt"); 
      } 

      private function showApplication(): void { 
       Alert.show("Showing components"); 
      } 
     ]]> 
    </fx:Script> 

    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 

</s:Application> 
+0

对不起,我一定在看这个错误。在发布这篇文章后不久,我发现最后的“警报”就是您可以看到的警报。 – Dennis 2011-02-18 13:36:07

回答

1

Alert组件不阻止执行ActionScript代码。换句话说,在显示第一个警报之后,即使您尚未点击确定,代码仍会继续运行。第一个警报在那里,但它隐藏在第二个警报下,因为警报总是显示在其他现有内容之上。

相关问题