[英]Can I have multiple classes in one file in MXML?
我有一個只能在 A 類內部使用的 B 類。 但是,classA 寫為 mxml,而不是 actionscript 代碼。 是否可以在 MXML 中嵌套類或在相同.mxml 文件中的根標記之后添加另一個 class ? 澄清:我希望在同一個文件中用 MXML 編寫兩個類,但我在 Adobe 文檔中找不到任何指定方式的內容。
不,您不能在一個 MXML 文件中定義兩個類,但您可以為這兩個類使用相同的 package(命名空間)並將 classB 設為internal
,因此它僅對該 package 中的類可見。
我相信您正在尋找允許您在現有 MXML 文檔中定義新 MXML 文檔的fx:Component標記:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:local="*">
<fx:Declarations>
<fx:Component className="MyMXMLClass1">
<s:Group>
<s:Button label="MyMXMLClass1" />
</s:Group>
</fx:Component>
<fx:Component className="MyMXMLClass2">
<s:Group>
<s:Button label="MyMXMLClass2" />
</s:Group>
</fx:Component>
</fx:Declarations>
<s:VGroup>
<local:MyMXMLClass1 />
<local:MyMXMLClass2 />
</s:VGroup>
</s:Application>
如果嵌套類中需要多個級別的 inheritance,則<fx:Component>的替代方法(在上一個答案中提到)是使用<fx:Library>例如:
<fx:Library>
<fx:Definition
name="MyClass"
>
<s:Group>
...
<s:/Group>
</fx:Definition>
</fx:Library>
...
<!-- Use MyClass later in the file. -->
<fx:MyClass ... />
<fx:Library>必須位於 MXML 文件的頂部。 此語法允許在一行中嵌套多個 class 定義,並且每個定義都可以通過 inheritance 擴展前一個定義。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.