Метаданные
Тег <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