기존의 MXML에서는 id라는 속성은 미리 정의된 속성으로서, MXML Document에서 해당 컴포넌트의 Identifier를 가리키는 속성이었고, 또 다른 의미로는 사용할 수 없었다.
예를 들면, 자신이 개발한 컴포넌트에 사용자 ID를 가리키는 속성명을 id라고 하고 싶어도, MXML에서의 id 속성의 의미와 conflict가 되어, userId 처럼 다른 속성명을 사용해야만 했다.
Qualified ID Attribute의 동작
MXML 2009에서는, Qualified ID Attribute, 즉 id 속성의 네임스페이스를 명시하는 방법으로, 의미의 중첩을 피할 수 있다.
예를 들어,
<test:MyObject fx:id="account" test:id="myID@example.com"/>
이와 같이 명시하게 되면, MyObject의 id 속성에는 myID@gmail.com이 들어가고, MXML Document에서는 this.account 와 같이 접근할 수 있다.
Unqualified ID Attribute의 동작
반면, 아래와 같이 id의 namespace를 명시하지 않은(unqualified id attribute) 경우,
<test:MyObject id="account"/>
컴파일 타임에 MXML Document의 this.account에 MyObject가 지정되지만, MyObject의 id 속성에는 아무런 값도 설정이 되지 않는다.
참고 사항
오늘(현지 기준 12/14/2009) 결정된 사항이라 현재 버전1의 Flex SDK에는 아직 적용되지 않았다.2 현재 버전의 Flex SDK에 적용이 되었다.3
추가 사항
최신 버전의 Flex SDK에서 테스트해본 결과, 아래와 같이 사용하여도 문제가 발생하지 않는다.4
<test:MyObject id="account" test:id="myID@example.com"/>
Reference
'Adobe Flash Platform > Flex' 카테고리의 다른 글
| 최근 개발한 간단한 웹페이지에 대한 사후 평가 (0) | 2010/01/28 |
|---|---|
| Dictionary와 hasOwnProperty() (6) | 2009/12/27 |
| MXML 2009의 id 속성 (2) | 2009/12/15 |
| [뉴스] Flex 4 SDK - AIR 1.5.3 / FP 10.0.42 적용 (0) | 2009/12/11 |
| setActualSize()와 move() (9) | 2009/12/08 |
| Mustella와 Test 생성기 (8) | 2009/12/08 |




댓글을 달아 주세요
괜춘하군! ㅋ
음.. 더 좋은 대안이 없을까도 같이 생각하게 되는 문제인듯.