[英]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.