문제

아마도 어떤 종류의 메타 데이터를 통해 아마도 객체의 속성을 설정하도록 강요 할 수 있습니까? 우리는 하나 이상의 속성이 설정되지 않는 한 다음과 같은 많은 비 시각 구성 요소가 있습니다.

<ToolTip target="{this}">
    <mx:Image source="foo.png" />
</ToolTip>

이 경우 대상 속성은 절대 설정하지 않는 것이 합리적이지 않기 때문에 필요에 따라 표시하는 것이 좋습니다. 문서화하기 쉽기 때문에 큰 문제는 아니지만 컴파일러가 개발자에게 오류를 알리도록하여 최소한 몇 가지 디버그 라운드 트립을 제거하는 것이 좋을 것입니다.

우리는이 태그가 어떤 식 으로든 중복되기를 원하지 않으며, 단순히 툴팁 구성 요소를 uicomponent를 만들고 부모 속성을 사용하여 해결할 수있었습니다 (이 인스턴스에서). 그러나 이것은 불필요한 오버 헤드를 추가하고 다른 경우에는 단순히 적절하지 않습니다.

<Button id="btn" label="Foo" />
<ToolTip target="{btn}">
    <mx:Image source="foo.png" />
</ToolTip>

그렇다면 필수 MXML 속성은 가능성이 있습니까?

도움이 되었습니까?

해결책

해결책이 있지만 메타 데이터를 사용하는 것만 큼 간단하지는 않습니다. 비 시각 구성 요소가 IMXMLobject 인터페이스를 구현하도록하십시오. 인터페이스에는 "초기화 된"메소드가 하나뿐입니다. 인터페이스를 구현하면 MXML을 통해 초기화 된 객체를 검사 할 수 있습니다.

따라서...

public function initialized(document:Object, id:String):void
{
  if ( target == null ) throw new Error( "You must supply an argument to target!" );
} 

시간 점검을 컴파일하는 것이 좋지만 이것은 괜찮습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top