我有点难过。我认为只需引用函数(“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>
答案 0 :(得分:0)
<?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()"/>
我希望这会有所帮助。
答案 1 :(得分:0)
你不能像这样调用实例函数,因为它在调用构造函数之前运行。由于实例本身尚未初始化,因此可以执行此功能。您只能在调用构造函数之前调用类函数。
您可以通过static
关键字将方法转换为类方法(在这种情况下可能不正确),或者在creationComplete
事件上触发此方法。