天天看點

Flex3學習筆記4

版權聲明:本文為部落客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按鈕,寫如下代碼:

  1. <mx:Button id="myButton" />

這能被編譯成等價的ActionScript代碼:

  1. import mx.controls.Button;
  2. var myButton:Button = new Button();
  3. addChild(myButton);

注意:你可以使用ActionScript來動态建立元件,而不是隻依賴于MXML。

3)Attributes are Properties

當你為标簽增加屬性Attributes時,你實際上是在改變元件執行個體的properties。例如,要改變按鈕Button的label屬性,在MXML中如下:

  1. <mx:Button id="myButton" label="Click Me" />

在ActionScript等價的操作為:

  1. myButton.label = "Click Me";

4)屬性是樣式(Attributes are Styles)

一個元件有多種屬性,正如之前看到的屬性面闆。Styles是Flex元件特殊的屬性,用于控制元件的顯示外觀。在MXML,可以很容易地使用屬性設定style。在ActionScript,可使用getStyle()和setStyle()方法。

例如:cornerRadius的style屬性用于設定按鈕,如下:

  1. <mx:Button id="myButton" cornerRadius="14" />

但不可以用腳本直接設定,如:

  1. myButton.cornerRadius = 14;

而是應該用setStyle()方法,如下:

  1. myButton.setStyle("cornerRadius", 14);

5)屬性是事件監聽器(Attributes are event listeners)

事件監聽器用于告訴元件響應事件,如滑鼠點選。如下:

  1. <mx:Button id="myButton" click="doSomething()" />

那就應該執行ActionScript腳本:

  1. myButton.addEventListener("click", doSomething);

要注意,ActionScript是使用addEventListener()方法注冊事件的。

二、注釋

注釋文法在MXML和ActionScript中是不一樣的,

在ActionScript中是雙斜線“//"或”/* */",

而在MXML中是<!-- -->。

這正好滿足一為腳本語言、一為XML語言的文法。

繼續閱讀