Flex中的组件(Component)有三个属性, 通常用来引用上级的对象, 它们是 Parent, ParentDocument, ParentApplication.
1. Parent:指包含此组件的父级容器对象(DisplayObjectContainer), 这里的包含是词义上(Lexical)的包含. DisplayObjectContainer是一个抽象类, 是所有能够包含子对象(child objects)的父类.
2. ParentDocument:指向包含此组件的父文档对象. 这里关键点是 什么是文档对象? 文档对象是顶层的Flex程序, MXML组件或者AS组件, 其类型必须是UIComponent, 所以, Document一般指代的是自定义组件的根结点或者程序的Application结点. 它和Parent的区别是在于, 它不是词义上的父对象, 而是父文档. 例如我们自定义一个继承Panel的MXML组件, FormItem的Parent是Form, 而FormItem 和Form 的ParentDocument则都是Panel.
.
- <s:Panel>
- <mx:Form width="100%" height="100%">
- <mx:FormItem />
- </mx:Form>
- </s:Panel>
3. ParentApplication:指向包含此组件的 Application 对象. 通常一个Flex程序包含在
如果自定义as继承UIComponent的话
使用parentApplication可以得到主场景
如果不继承
在flex3中使用Application.application
在flex4中使用FlexGlobals.topLevelApplication