在MXML檔案中實現ActionScript邏輯的幾種方法:
最簡單的方法,在一個MXML檔案中通過組件的事件直接書寫簡單的邏輯控制,但是並不推薦。
<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"><br /><mx:Panel title='My Application' ><br /><mx:HBox><br /><mx:Label text='Temperature in Farenheit:'/><br /><mx:TextInput id='farenheit' width='120'/><br /><mx:Button label='Convert' click='celsius.text=((int(farenheit.text)-32)/1.8).toString();' /><br /><mx:Label text='Temperature in Celsius:'/><br /><mx:Label id='celsius' width='200' fontSize='48'/><br /></mx:HBox><br /></mx:Panel><br /></mx:Application>
注意其中的類型轉換
第二種,在MXML檔案中定義函數調用,比較適合簡單的應用,如
<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"><br /> <mx:Script><br /><!--[CDATA[<br />public function calculate():void {<br />celsius.text=((int(farenheit.text)-32)/1.8).toString();<br />}<br />]]--><br /></mx:Script><br /><mx:Panel title='My Application' ><br /><mx:HBox><br /><mx:Label text='Temperature in Farenheit:'/><br /><mx:TextInput id='farenheit' width='120'/><br /><mx:Button label='Convert' click='calculate()' /><br /><mx:Label text='Temperature in Celsius:'/><br /><mx:Label id='celsius' width='200' fontSize='48'/><br /></mx:HBox><br /></mx:Panel><br /></mx:Application>
第三種,把MXML檔案和指令檔分開,便於專案管理
<?xml version="1.0" encoding="utf-8"?><br /><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"><br /> <mx:Script source="sample.as"/><br /><mx:Panel title='My Application' ><br /><mx:HBox><br /><mx:Label text='Temperature in Farenheit:'/><br /><mx:TextInput id='farenheit' width='120'/><br /><mx:Button label='Convert' click='calculate()' /><br /><mx:Label text='Temperature in Celsius:'/><br /><mx:Label id='celsius' width='200' fontSize='48'/><br /></mx:HBox><br /></mx:Panel><br /></mx:Application></p><p>sample.as</p><p>public function calculate():void {<br />celsius.text=((int(farenheit.text)-32)/1.8).toString();<br />}