2013-06-20 3 views
0

mscript가 아닌 mxml에서 사용자 정의 구성 요소의 하위 속성에 액세스하는 방법이 있습니까?사용자 정의 구성 요소의 하위 속성에 액세스하는 Flex

예를 들어, 난 당신이 ActionScript에서이 작업을 수행 할 수있는이

<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

그런 짓을 할 응용 프로그램의 어딘가에 구성 요소 "A"

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

그리고있다; MXML에서는 그렇지 않습니다. ActionScript에서 :

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

이것은 우리가 캡슐화에서 끔찍한 휴식이라고 부르는 것입니다. "부모"는 자녀의 구현 세부 사항을 알 필요가 없어야합니다.

ComponentA는 자체 하위 항목의 크기를 지정하고 위치를 지정해야합니다. 이 추격 아동과 아동 B. ComponentA의 부모로부터 도움을받을 필요는 없습니다.

component's should communicate with each other에 대한 방법은이 블로그 게시물을 참조하십시오.

+0

그래,하지만 나는 mxml-way에 대해 궁금해하고 있었다. 것은 : 4 가지 이상의 매개 변수가있는 특정 로더 구성 요소와 해당 로더가 포함 된 일부 구성 요소가 있습니다. 이 구성 요소는 응용 프로그램의 전체 화면을 차지하거나 32x32 픽셀이 될 수 있습니다. 나는 코드에서 많은 사용자 정의를 얻지 않고 mxml에서 로더 모양을 제어하려고 생각하고있었습니다. 컨테이너 구성 요소를 통해이 속성을 전달해야합니다. – Komlev

+2

@Komlev 왜 부모 개체의 이러한 4 가지 매개 변수 속성을 만들지 마십시오. 설정된 경우, 그리고 자식이 존재하면 자식에게 속성을 적용 할 수 있습니다. –

+0

이것은 여분의 작품입니다, 나는 그것이 최소한이라는 것을 알고 있지만, 거기에 있습니다, 나는 부모 클래스를 교대로하지 않고 만들 수있는 방법이 있는지 궁금 해서요. 나는 mxml이 나에게 "통사론"을 줄 수 있기를 바랬다. – Komlev

관련 문제