非可視化組件都放在<fx:declarations/> css
(1)三種RPC組件分別是webserivce,httpSerivce,RemoteObject html
(2)validator java
(3)formatter web
(4)css 數組
(5)skins app
(6)effect:指短期內改變組件的動做,好比resize,fading,moving a component dom
設置組件的屬性有兩種方式: jvm
(1)直接設置組件的attributes jsp
(2)設置組件的子節點 函數
在給組件設置屬性時碰到Array類型的屬性:能夠加或不加<fx:Array>標籤,但只有一個例外,就是指數組包含一個元素。(i)當選擇加時表示包含一個元素的數組;(ii)當不加時表示該屬性的值就爲該元素值.
object=[element]
object=element
Vector:一種類型相同的數組,初始化時要標明它的元素的數據類型
(1)元素類型爲String:
<fx:Vector type="String"> <fx:String>one</fx:String> <fx:String>two</fx:String> <fx:String>three</fx:String> </fx:Vector>(2)元素的類型爲Vector<String>
<fx:Vector type="Vector.<String>"> <fx:Vector type="String"> <fx:String>one</fx:String> <fx:String>two</fx:String> <fx:String>three</fx:String> </fx:Vector> </fx:Vector>
&it,>爲HTML的轉移字符分別表明爲'<','>'。
在組件裏有XML類型的屬性時:在初始化該屬性時應該給出namespace。
<mynamespace:MyComponent> <mynamespace:value xmlns:a="http://www.example.com/myschema"> <fx:XML> <a:purchaseorder> <a:billingaddress> ... </a:billingaddress> ... </a:purchaseorder> </fx:XML> </mynamespace:value> </mynamespace:MyComponent>
使用As
當要生成編譯之後的源碼是能夠加 keep-generated-actionscript=true選項
通常是使用id來引用組件的實例,當你只知道組件id的String名而要引用該組件是可使用this[idName]來引用該組件。
FlexGlobals.topLevelApplication:根應用程序。
parentDocument:
parentApplication:
引用外部的代碼可使用兩種方式:include和import
include:表示引用的代碼因此當前MXML組件的一部分;
import:要new 一個實例來使用其中的代碼。
動態查看一個實例的屬性和方法
(1)使用for..in loops:引用變量只是Object類型,使用該語法能獲取動態添加的屬性和值
public function dumpObj():void { for (var p:String in obj) { ta1.text += p + ":" + obj[p] + "\n"; } }也可使用mx.utils.ObjectUtil.toString()來完成一樣的效果。
(2)Using the introspection API
describeType(object):返回該實例對應類的共有方法和屬性(非動態添加的),返回類型爲XML
若要獲取類的靜態方法和屬性 則使用describeType(getDefinitionByName("MyClass"))。
可視化組件的層次結構依次爲stage,System Manage,Application和其餘組件
event flow 包括三種時間段:the capturing phase,the targeting phase,the bubbling phase
the capturing phase:從根節點到目標節點的父節點,flash player查找該路徑下的節點所註冊的事件是否符合
若符合,則調用相應的回調函數。
the targeting phase:目標節點,調用註冊改事件的回調函數
the bubbing phase:從目標節點到根節點,flash player查找該路徑下的節點所註冊的事件是否符合
若符合,則調用相應的回調函數。
事件的繼承層次:
通常組件都是DisplayObject,DisplayObject繼承Eventdispatch,而Eventdispatch則實現了IEventdispatch藉口。
addEventListenter(event_type:String,event_listener:Function,use_capture:Boolean,priority:int,weakRef:Boolean)
weakRef:指的是監聽器是不是弱引用
移除監聽器:在語句塊裏添加的監聽器能夠移除,在MXML裏添加的監聽器不能夠刪除。
手動添加的監聽器函數只能有一個參數爲Event類型,而MXML種定義的監聽器能夠聲明任意多的參數。
hasEventListner()和willTrigger()去檢查某事件是否有註冊監聽器
objectInstance.dispatchEvent(event:Event):Boolean
Event(event_type:String, bubbles:Boolean, cancelable:Boolean)
canceable:表示事件是否須要通過事件流
Capturing:從父節點到子節點
bubbling:從子節點從父節點
通常狀況下可視化組件都在bubbling階段,
event flow在可視化組件裏是從最裏層的子節點到最外面的節點
event.target和currentTarget屬性
event的中止事件傳播方法:
stopPropagation():容許當前節點的其餘事件監聽器執行。
stopImmediatePropagation():不容許當前節點的其餘事件監聽器執行。
對父節點註冊事件而不是對每一個子節點註冊,會極大地提升程序的維護性和性能。
若是想要你的監聽器按照特定的順序:
(1)在監聽器中調用其餘監聽器
(2)在監聽器中dispatch event
keyEvent中的keycode和charcode:
keycode:指的是按下的鍵的編碼的數字值
charcode:指的是按下的鍵的實際值的編碼的數字值
好比按下鍵1可能爲表明數字1或者字'!' ,keycode就表明鍵1編碼的數字值,charcode表明數字1或者'!'的編碼的數字值。
MouseEvent有關於KeyEvent的屬性:altKey,ctrlKey,shiftKey
SDK的相關配置
在sdk的目錄下能夠更改jvm及相關編譯器mxmlc,compc的配置
sdk_install_dir/ bin/jvm.config bin/mxmlc bin/mxmlc.exe bin/compc bin/compc.exe bin/fdb bin/fdb.exe frameworks/flex-config.xml
wrapper:將swf文件嵌入到html,jsp等網頁類型。
若flex 應用程序須要文本訪問其餘域名(不是運行該應用程序的域名)的服務須要使用crossdomain.xml文件或者代理。