Flex精華摘要 4:使用AS指令碼
在MXML檔案中實現ActionScript邏輯的幾種方法:
最簡單的方法,在一個MXML檔案中通過元件的事件直接書寫簡單的邏輯控制,但是並不推薦。
1. <mx:Application xmlns:mx='http://www.macromedia.com/2003/mxml'>
2. <mx:Panel title='My Application' >
3. <mx:HBox>
4. <mx:Label text='Temperature in Farenheit:'/>
5. <mx:TextInput id='farenheit' width='120'/>
6. <mx:Button label='Convert' click='celsius.text=(farenheit.text-32)/1.8;' />
7. <mx:Label text='Temperature in Celsius:'/>
8. <mx:Label id='celsius' width='120' fontSize='48'/>
9. </mx:HBox>
10. </mx:Panel>
11. </mx:Application>
第二種,在MXML檔案中定義函式呼叫,比較適合簡單的應用,如
1. <mx:Application xmlns:mx='http://www.macromedia.com/2003/mxml'>
2. <mx:Script>
3. <![CDATA[
4. function calculate() {
5. celsius.text=(farenheit.text-32)/1.8;
6. }
7. ]]>
8. </mx:Script>
9. <mx:Panel title='My Application' >
10. <mx:HBox>
11. <mx:Label text='Temperature in Farenheit:'/>
12. <mx:TextInput id='farenheit' width='120'/>
13. <mx:Button label='Convert' click='calculate();' />
14. <mx:Label text='Temperature in Celsius:'/>
15. <mx:Label id='celsius' width='120' fontSize='48'/>
16. </mx:HBox>
17. </mx:Panel>
18. </mx:Application>
第三種,把MXML檔案和指令碼檔案分開,便於專案管理
1. <mx:Application xmlns:mx='http://www.macromedia.com/2003/mxml'>
2. <!-- Specify the ActionScript file containing the function. -->
3. <mx:Script source='sample3script.as'/>
4. <mx:Panel title='My Application' >
5. <mx:HBox>
6. <mx:Label text='Temperature in Farenheit:'/>
7. <mx:TextInput id='farenheit' width='120'/>
8. <mx:Button label='Convert' click='calculate();' />
9. <mx:Label text='Temperature in Celsius:'/>
10. <mx:Label id='celsius' width='120' fontSize='48'/>
11. </mx:HBox>
12. </mx:Panel>
13. </mx:Application>
sample.as檔案程式碼如下:
function calculate() {
2. celsius.text=(farenheit.text-32)/1.8;
3. }
第四種,使用MXML元件方式,更好的封裝實現。下面的例子定義了一個tempConverter元件
1. <mx:Application xmlns:mx='http://www.macromedia.com/2003/mxml'
2. initialize='converter.setupListener()'>
3. <local:TempConverter id='converter' xmlns:local='*'/>
4. <mx:Panel title='My Application' >
5. <mx:HBox>
6. <mx:Label text='Temperature in Farenheit:' />
7. <mx:TextInput id='farenheit' width='120' />
8. <mx:Button id='myButton' label='Convert' />
9. <mx:Label text='Temperature in Celsius:' />
10. <mx:Label id='celsius' width='120' fontSize='24' />
11. </mx:HBox>
12. </mx:Panel>
13. </mx:Application>
TempConverter.as檔案程式碼如下:
1. class TempConverter implements mx.core.MXMLObject{
2. public var view;
3. function initialized(doc : Object, id : String) : Void {
4. view = doc;
5. }
6. function setupListener() : Void {
7. view.myButton.addEventListener('click', this);
8. }
9. function click(event) {
10. view.celsius.text=(view.farenheit.text-32)/1.8;
11. }
12. }
相關文章
- Flex精華摘要 5:使用樣式和字型Flex
- Flex精華摘要 1:如何開始Flex
- Flex精華摘要 2:基本MXML功能FlexXML
- Flex精華摘要 3:基本語法Flex
- 使用 flex4 開發通用統計系統,釋出原始碼至githubFlex原始碼Github
- 指令碼的故事(4)指令碼
- 第4關-精華筆記筆記
- 解剖Nginx·自動指令碼篇(4)工具型指令碼系列Nginx指令碼
- 用Ant構建指令碼(4)指令碼
- IDEA下使用碼雲(相關部落格摘要)Idea
- 精讀 Nginx·自動指令碼篇(4)工具型指令碼系列Nginx指令碼
- Git(4) 子樹拉取指令碼Git指令碼
- ext4 時延stap指令碼指令碼
- Redis使用Lua指令碼Redis指令碼
- .net中 使用指令碼指令碼
- mystat指令碼以及使用指令碼
- flex:0 flex:1 flex:none flex:auto應該在什麼場景下使用?FlexNone
- 使用批處理指令碼或SHELL配合SQL指令碼指令碼SQL
- nmap指令碼使用總結指令碼
- 使用go指令碼代替makefileGo指令碼
- 使用指令碼重簽名指令碼
- gdb的指令碼使用 -- gdbinit指令碼
- 使用sql生成sql指令碼SQL指令碼
- Flex 排版原始碼分析Flex原始碼
- flex亂碼問題Flex
- Flex Viewer 解析(二)Flex Viewer原始碼包結構FlexView原始碼
- Flex4中雙向繫結Flex
- flex的使用例項Flex
- 使用Flex生成GUIDFlexGUI
- 使用shell指令碼生成只讀許可權的sql指令碼指令碼SQL
- 跑wordpress使用者密碼指令碼密碼指令碼
- wrk(2)- Lua 指令碼的使用指令碼
- 使用ajax指令碼取資料指令碼
- 使用jmeter錄製web指令碼JMeterWeb指令碼
- Shell指令碼介紹與使用指令碼
- ecs使用指令碼安裝oracle指令碼Oracle
- 使用jQuery載入js指令碼jQueryJS指令碼
- hive streaming 使用shell指令碼Hive指令碼