有没有办法从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>
答案 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。