Apache flex 灵活访问自定义组件';儿童财产

Apache flex 灵活访问自定义组件';儿童财产,apache-flex,actionscript,flex4.5,mxml,Apache Flex,Actionscript,Flex4.5,Mxml,是否有一种方法可以从mxml而不是actionscript访问自定义组件的子属性 例如,我有一个组件“a” 在应用程序的某个地方,我想做这样的事情 <s:HGroup> <components:A> /*I want to access properties of this children objects*/ <childA width="20"/> <childB color="0xFFFFFF"/>

是否有一种方法可以从mxml而不是actionscript访问自定义组件的子属性

例如,我有一个组件“a”


在应用程序的某个地方,我想做这样的事情

<s:HGroup>
   <components:A>
      /*I want to access properties of this children objects*/
      <childA width="20"/>
      <childB color="0xFFFFFF"/>
   </components:A>

   <components:A>
      /*And here too*/
      <childA width="60"/>
      <childB color="0x000000"/>
   </components:A>
</s:HGroup>

/*我想访问此子对象的属性*/
/*这里也是*/

您可以在ActionScript中执行此操作;但不是在MXML中。在ActionScript中:

componentAInstance.childA.width = 20;
componentAInstance.childB.setStyle('color',0xFFFFFF);
这就是我们所说的封装中的可怕突破;因为“家长”不需要知道其子女的实施细节

ComponentA应该知道如何调整自己孩子的大小和位置;在这场追逐中,childA和childB。它不需要ComponentA的父级的帮助


您可能会在阅读这篇关于如何使用mxml的博文时受益。

是的,但我想知道mxml的方式。问题是:我有一个特定的加载器组件,它有4个以上的外观参数,还有一些组件包含这个加载器。该组件可以占据应用程序的整个屏幕,也可以是32×32像素。我在考虑从mxml控制加载程序的外观,而不用从代码中进行太多定制。我想我现在必须通过容器组件传递这些属性。@Komlev为什么不将这4个参数作为父对象的属性呢。当设置时,如果子类存在,它可以将属性应用于子类。这是一项额外的工作,我知道它是最小的,但它在那里,我想知道有没有一种方法可以在不交替父类的情况下生成is。我希望mxml能给我一些“语法糖”。我不确定你的意思是我建议的答案是额外的工作还是@SunilD。评论是。从投机的角度来看,苏尼尔德的方法是正确的。
componentAInstance.childA.width = 20;
componentAInstance.childB.setStyle('color',0xFFFFFF);