我开发了一个组件,它是几个项目(画布,标签等等)的组合,但是当我尝试将它绑定到变量时,例如:{stationXML.getItemAt(1).AAA。 @value},它不起作用。在我将一个组件中的所有项目组合在一起之前,它们都在主MXML文件中,而这些文件在他们工作的时候。
不确定是否重要,但“stationXML”arraycollection变量在文件“Station.as”中声明。
有什么想法吗?
答案 0 :(得分:1)
当你说“全局变量”在哪里以及如何声明它? Flex应用程序中没有真正的全局变量。如果在主MXML类中声明某些内容并未使其成为全局内容,则会使该主应用程序类的实例可以访问它。如果要在组件中访问该值,则必须将其传递给该组件。或者,您可以实现单例类来有效地提供对这些值的“全局”访问。
例如,在组件中,创建一个公共属性:
public var xmlData:XML;
然后在主mxml中,传递值:
<xxx:MyComponent id="foo" x="10" xmlData="{theValue}"/>
答案 1 :(得分:0)
Station.as是否扩展EventDispatcher并且类(或属性)是否带有[Bindable]元数据标记?为了使绑定工作,您的类需要在其继承结构中的某个位置扩展EventDispatcher,以便它能够通知已更新的绑定“客户端”。