2009-12-21 71 views
3

FLEX4提供下列命名空間:Flex 4中mx/fx/s對象類型有什麼區別?

xmlns:fx="http://ns.adobe.com/mxml/2009" 
xmlns:s="library://ns.adobe.com/flex/spark" 
xmlns:mx="library://ns.adobe.com/flex/halo" 

有什麼區別?哪個命名空間提供哪個功能?我在哪裏可以找到有關此信息?

回答

9

命名空間允許您指定編譯器在哪裏查找您在mxml中引用的文件/類。

在Flex 4中有兩種不同類型的名稱空間可供使用。一種語言名稱空間和一個組件名稱空間。 http://ns.adobe.com/mxml/2009命名空間指定使用哪個版本的mxml語言。這包括諸如腳本標籤和綁定標籤之類的東西以及新的標籤,如聲明和私有。

上面引用的其他2個命名空間是組件命名空間。這些是構成將在應用程序中使用的UI組件的特定ActionScript類的引用。/flex/spark組件集是新的flex 4組件,它們具有獨立的皮膚和組件實現。/flex/halo集合是flex 3集合中存在的組件。要小心,雖然/ flex/halo已經在新的每晚構建中重命名爲/ flex/mx。

在Flex 3中,只有一種語言可用,並且只有一個組件集,因此它們將這些定義一起卡在一個文件中。所以儘管引擎蓋下的技術領域沒有改變,但adobe公開它們的方式(通過多個名稱空間)已經有了。這看起來似乎比較複雜,但請記住,在執行flex工作時,您始終爲mxml中的所有視圖組件創建xml命名空間。所以現在你在和核心框架相同的水平上玩,這很棒。同樣在Flex 4中,有幾種語言和組件集可以使用,因此無法創建Flex 3中存在的一對一映射。

有關此主題的更多信息,請參閱關於這個問題的Adobe文檔:http://opensource.adobe.com/wiki/display/flexsdk/MXML+2009

HTH,

SIM

+0

你真棒!謝謝 – ufk 2009-12-22 08:35:38