版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/3113075
Flex3學習筆記4
Flex腳本基礎
一、ActionScript和MXML的關系
Flex由兩種語言組成,ActionScript和MXML。MXML負責應用的布局結構,ActionScript負責建立互動。那麼,ActionScript和MXML有什麼異同呢?
1)MXML = ActionScript
MXML标記實際上能被Flex編譯器轉換成ActionScript。你可以這麼考慮:ActionScript是Flash Player的核心語言,Flex中的一切東西都能被提取成ActionScript。在這點上,你可以使用ActionScript項目建立一個Flex應用,且隻使用ActionScript語言。然而,使用MXML具有更好的直覺性來建立應用程式。
2)标記都是類(Tags are Classes)
Flex應用程式中聲明的标記在編譯時能被轉換成ActionScript的合适代碼。比如,要在MXML中建立一個Button按鈕,寫如下代碼:
- <mx:Button id="myButton" />
這能被編譯成等價的ActionScript代碼:
- import mx.controls.Button;
- var myButton:Button = new Button();
- addChild(myButton);
注意:你可以使用ActionScript來動态建立元件,而不是隻依賴于MXML。
3)Attributes are Properties
當你為标簽增加屬性Attributes時,你實際上是在改變元件執行個體的properties。例如,要改變按鈕Button的label屬性,在MXML中如下:
- <mx:Button id="myButton" label="Click Me" />
在ActionScript等價的操作為:
- myButton.label = "Click Me";
4)屬性是樣式(Attributes are Styles)
一個元件有多種屬性,正如之前看到的屬性面闆。Styles是Flex元件特殊的屬性,用于控制元件的顯示外觀。在MXML,可以很容易地使用屬性設定style。在ActionScript,可使用getStyle()和setStyle()方法。
例如:cornerRadius的style屬性用于設定按鈕,如下:
- <mx:Button id="myButton" cornerRadius="14" />
但不可以用腳本直接設定,如:
- myButton.cornerRadius = 14;
而是應該用setStyle()方法,如下:
- myButton.setStyle("cornerRadius", 14);
5)屬性是事件監聽器(Attributes are event listeners)
事件監聽器用于告訴元件響應事件,如滑鼠點選。如下:
- <mx:Button id="myButton" click="doSomething()" />
那就應該執行ActionScript腳本:
- myButton.addEventListener("click", doSomething);
要注意,ActionScript是使用addEventListener()方法注冊事件的。
二、注釋
注釋文法在MXML和ActionScript中是不一樣的,
在ActionScript中是雙斜線“//"或”/* */",
而在MXML中是<!-- -->。
這正好滿足一為腳本語言、一為XML語言的文法。