簡體   English   中英

在 <fx:Script> 標簽

[英]calling a function in the <fx:Script> tags

我有點難過。 我認為僅通過引用函數(如下面的代碼中的“ display_album()”)就可以在fx:Script標記內調用函數。 在花括號之外進行該函數調用會很有意義,但是當我這樣做時,FlashBuilder中的調試器給我1180錯誤,調用了一個可能未定義的方法。

我可以通過單擊按鈕來調用該函數(這也很有意義),然后在FlashBuilder調試器中獲得正確的跟蹤。

但是我很好奇如何在不添加按鈕的情況下調用標簽中的函數。 謝謝!

 <?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">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>

    <fx:Script>
        <![CDATA[

            public function display_album():void
            {
                var album:String = "The White Album";
                trace (album);

            }

            display_album();

        ]]>
    </fx:Script>
    <s:Button x="192" y="259" label="Button" click = "display_album()"/>

</s:Application>
<?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"
           initialize="init()">
<fx:Declarations>
    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>

<fx:Script>
    <![CDATA[
        private function init():void
        {
          display_album();
        }

        public function display_album():void
        {
            var album:String = "The White Album";
            trace (album);

        }

    ]]>
</fx:Script>
<s:Button x="192" y="259" label="Button" click = "display_album()"/>

我希望這有幫助。

您不能調用這樣的實例函數,因為它在調用構造函數之前運行。 由於實例本身尚未初始化,因此該函數中沒有作用域可以執行。 您只能在調用構造函數之前調用類函數。

您可以通過static關鍵字將方法轉換為類方法(在這種情況下可能不正確),也可以在creationComplete事件上觸發此方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM