Flex访问自定义组件的子属性

时间:2013-06-20 10:10:48

标签: flex actionscript flex4.5 mxml

有没有办法从mxml访问自定义组件的子属性,而不是从actionscript访问。

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

<s:Group>
   <mx:UIComponent id='childA'/>
   <mx:UIComponent id='childB'/>
</s:Group>

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

<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>

1 个答案:

答案 0 :(得分:1)

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

componentAInstance.childA.width = 20;
componentAInstance.childB.setStyle('color',0xFFFFFF);

这就是我们所说的封装中可怕的突破;因为“父母”不应该知道其子女的实施细节。

ComponentA应该知道如何规模和定位自己的孩子;在这个追逐childA和childB。它不应该需要ComponentA的父母的帮助。

您可能会在阅读此博文时了解component's should communicate with each other