转:[url]http://newtamato.iteye.com/blog/344850[/url]
对flex 的元数据标签总结整理
所谓的元数据标签有些类似一种标记,但是我们写了这种标记系统会给我们生成很多额外的代码。
1、[ArrayElementType]
他是控制集合的元素数据类型,就像java的泛型。
2、[Bindable]
用了这个标记之后我们就可以把属性在界面mxml上作为source绑定给别的组件。
也可以用它来绑定事件
例如
[Bindable(event='myDataChange')]
public var mydata:object;
这样只要myDataChange事件发生这个绑定就生效。
3、[Embed]
他是用来嵌入的标签,在as中形式如下:
[Embed(source="可以是swf,png,音乐以及视频")]
private var myClass:class;
这个myClass就可以付给某一个组件
在mxml中我们可以这样[@Embed(source="")]
4、[Inspectable]
使用这个标签我就可以将我设好的属性在mxml中得到提示
[Inspectable]
public var mylabel:string;
在mxml中我就可以使用flexbulider得到mylabel;
5、[RemoteClass]
这个标记可以方便我们将java类型和as类型进行转换。系统自动给我们转换,就没有必要自己写一个转换类。
[RemoteClass(alias=”com.NewTamatoMyClass”)]
public class MyClass {
public var id:int;
public var myName:String;
}
如果我们在次使用bindable,就可以吧这个类绑定给别的组件。更加方便。嘿嘿
不过我一般都会讲远程类型和as类型的属性名字保持一致。
6、[IconFile]
这个和embed有些类似都是嵌入,但是他只是嵌入图片
[IconFile(”icon.png”)]
public class myButton extends Button
{}
这个icon.png会嵌入到myButton中
7、[Effect]
8、InstanceType]
9、[Style]
10,[Event]
[url]http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001645.html[/url]
Using the Event metadata tag
You use the [Event] metadata tag to define events dispatched by a component so that the Flex compiler can recognize them as MXML tag attributes in an MXML file. You add the [Event] metadata tag in one of the following locations:
ActionScript components Above the class definition, but within the package definition, so that the events are bound to the class and not a particular member of the class.
MXML components In the
tag of an MXML file.
The Event metadata keyword has the following syntax:
[Event(name="eventName", type="package.eventType")]
The eventName argument specifies the name, including the package, of the event. The eventType argument specifies the class that defines the event.
The following example identifies the enableChanged event as an event that an ActionScript component can dispatch:
[Event(name="enableChanged", type="myEvents.EnableChangedEvent")]
public class MyComponent extends TextArea
{
...
}
The following example shows the [Event] metadata tag within the tag of an MXML file:
[Event(name="enableChanged", type="myEvents.EnableChangedEvent")]
....
Once defined using the [Event] metadata tag, you can refer to the event in an MXML file, as the following example shows:
import myEvents.EnableChangedEvent;
public function enableChangedListener eventObj:EnableChangedEvent):void {
...
}
]]>
If you do not identify an event with the [Event] metadata tag, the compiler generates an error if you try to use the event name in MXML. The metadata for events is inherited from the superclass, however, so you do not need to tag events that are already defined with the [Event] metadata tag in the superclass.