Flex 3 mxml 구성 요소가 있다고 가정 해 봅시다. A에는 get/set 특성 인 'b'가 있습니다. A에서 mxml을 사용하여 지정되는 다른 내부 구성 요소 C가 있습니다. mxml 내에서 구성 요소 A를 "인스턴스화"할 때 선언에서 b 값을 지정할 수 있으며 모든 것이 올바르게 작동합니다. 그러나 Actionscript를 사용하여 구성 요소를 초기화 할 때 먼저 해당 구성 요소의 특성 (이 경우 'b')을 설정하기 전에 렌더링 된 컨테이너에 해당 구성 요소를 추가해야합니다. 속성 'B'에 대한 세터가 어떻게 든플렉스 3 - AS3을 사용할 때 구성 요소를 설정하기 전에 구성 요소를 추가해야합니까?
그래서 A. 내 C에 액세스 할 때이 중 하나, 다른 한편으로는 (은 C가 null 말한다)이 런타임에 실패
var a:A = new A();
a.b = "woopy"; //Sets the Label (declared in mxml) withn A to "woopy"
this.addChild(a);
를 발생 다음의
<customNamespace:A b="woopy"/>
또는 같이
var a:A = new A();
this.addChild(a);
a.b = "woopy"; //Sets the Label (declared in mxml) withn A to "woopy"
을 작동, 더 런타임 오류 메시지가 던져 없다 컨테이너에 구성 요소가 추가 된 후 특성이 설정되면 n. 좋아,이 의미가, 나는 구성 요소의 내부가 실제로 구성 요소가 컨테이너에 추가되기 전까지는 생성되지 않는다고 가정합니다. 아직도, 이것은 일종의 성가심입니다. 구성 요소 내부를 컨테이너에 추가하지 않고도 완전히 렌더링되도록 보장 할 수있는 방법이 있습니까? 나는 actionscript와 mxml을 사용할 때와 다른 느낌을 좋아하지 않습니다. 기본적으로 속성 "인수"가없는 mxml에서 A를 선언하는 것은 AS에서 new 연산자를 사용하여 A를 선언하는 것과 같습니다. 최소한 A. 내부 상태에 관해서.