Метаданные
Тег <fx:Metadata>, реализуемый компилятором
Тег <fx:Metadata> используется для вставки тегов метаданных в MXML-файл. Теги метаданных предоставляют компилятору Flex информацию, описывающую способ использования MXML-компонентов в приложении Flex. Теги метаданных не компилируются в исполняемый код, но предоставляют информацию для управления тем, как компилируются части кода.
Следует учесть, что в блок <fx:Metadata> можно вставлять только теги метаданных, но не код MXML или ActionScript.
Например, можно создать MXML-компонент, определяющий новое событие. Для того, чтобы сообщить компилятору Flex об этом событии и ссылаться на данное событие в MXML, вставьте тег метаданных [Event] в компонент, как показано в примере ниже:
<fx:Metadata>
[Event("darken")]
</fx:Metadata>
В этом примере метаданные используются для того, чтобы событие darken стало доступным для компилятора MXML. Теги метаданных включают [Event], [Effect], [Style], [Inspectable] и прочие. Дополнительные сведения см. в главе Использование тегов метаданных руководства Создание и расширение компонентов Flex.
Теги метаданных при использовании в файлах классов ActionScript вставляются непосредственно в определение класса без использования тега <fx:Metadata>.
В MXML-файле теги метаданных вставляются в блок <fx:Script> совместно с кодом ActionScript или в блок <fx:Metadata>, как показано в примере ниже.
<?xml version="1.0"?>
<mx:TextArea xmlns:mx="http://www.adobe.com/2006/mxml">
<fx:Metadata>
[Event("enableChange")]
</fx:Metadata>
<fx:Script>
<![CDATA[
// Import Event class.
import flash.events.Event;
// Define class properties/methods
private var _enableTA:Boolean;
// Add the [Inspectable] metadata tag before the individual property.
[Inspectable(defaultValue="false")]
public function set enableTA(val:Boolean):void {
_enableTA = val;
this.enabled = val;
// Define event object, initialize it, then dispatch it.
var eventObj:Event = new Event("enableChange");
dispatchEvent(eventObj);
}
]]>
</fx:Script>
</mx:TextArea>
Синтаксис MXML
Для тега <fx:Metadata> применяется следующий синтаксис:
<fx:Metadata>
<!-- Metadata tags go here. -->
</fx:Metadata>
Tue Jun 12 2018, 11:51 AM Z