Flex 애플리케이션 내에서 사용할 클래스를 어떻게 가져오나요?

StackOverflow https://stackoverflow.com/questions/39856

  •  09-06-2019
  •  | 
  •  

문제

Flex 애플리케이션 내에서 사용하고 싶은 클래스를 정의하는 액션스크립트 파일이 있습니다.

액션스크립트 파일에 일부 사용자 정의 컨트롤을 정의한 다음 애플리케이션 태그를 통해 가져왔습니다.


<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:scorecard="com.apterasoftware.scorecard.controls.*"
...
</mx:Application>

하지만 이 코드는 Flex 구성 요소가 아니라 수학 루틴을 수행하기 위한 라이브러리입니다. 이 클래스를 어떻게 가져오나요?

도움이 되었습니까?

해결책

스크립트 태그 내에서 클래스를 가져와야 합니다.

<mx:Application
  xmlns:mx="http://www.adobe.com/2006/mxml">
  <mx:Script>
    import com.apterasoftware.scorecard.controls.*;
    // Other imports go here

    // Functions and other code go here
  </mx:Script>

  <!-- Components and other MXML stuff go here -->
  <mx:VBox>
    <!-- Just a sample -->
  </mx:VBox>
</mx:Application>

그러면 스크립트 태그의 다른 곳에서 해당 클래스를 참조할 수 있습니다.클래스 작성 방법에 따라 MXML 내에서 바인딩을 사용하지 못할 수도 있지만 이를 처리하기 위해 고유한 코드를 정의할 수 있습니다.

네임스페이스 선언은 다른 MXML 구성 요소를 가져오는 데에만 사용됩니다.AS 클래스는 스크립트 블록이나 다른 AS 파일 내에서 import 문을 사용하여 가져옵니다.

다른 팁

@헴스:좀 더 명확하게 설명하자면, MXML을 사용하여 AS 클래스를 인스턴스화할 때 네임스페이스 선언을 사용하여 AS 클래스를 "가져올" 수도 있습니다.

예를 들어 AS에서 완전히 작성한 사용자 정의 시각적 구성 요소가 있다고 가정해 보겠습니다. com.apterasoftware.scorecard.controls.MathVisualizer.MXML 내에서 사용하려면:

<mx:Application
    xmlns:mx="http://www.adobe.com/2006/mxml"
    xmlns:aptera="com.apterasoftware.scorecard.controls.*">

    <aptera:MathVisualizer width="400" height="300" />
</mx:Application>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top