2010-11-24 2 views
2

나는 비슷한 질문을했지만, 알아 내려고하는 것과는 전혀 다른 점이 있으므로 여기서 간다. 몇 가지보기 상태가있는 flex 응용 프로그램이 있는데, 그 중 일부는 자주 사용되며 일부는 사용되지 않습니다. 현재이 모든 상태는 하나의 mxml 파일에 있으므로 하나의 SWF 파일 만 생성되어 클라이언트 브라우저에로드됩니다. 다른 소스 파일로 분리하여 하나의 파일에서 다른 파일로 상태를 분리하여 이러한 뷰 상태를 모듈화하고 싶습니다. 그러나 사용자가 하나의 SWF 파일 만로드하면됩니다. 내 주된 이유는 10,000 줄을 넘는 소스 파일을 피하는 것입니다. 이 문제를 해결하기위한 표준 방법이 있습니까?모듈성 및 플렉스보기 상태

감사합니다.

답변

5

요청하는 작업에는 두 가지 방법이 있습니다. 첫 번째는 당신이 묻는 것처럼 들리는 것이고, 두 번째는 내가 권하는 것입니다.

첫째 :

는 main.mxml 응용 프로그램을 만들고 다음 각 상태에 대해 별도의 component1.mxml 및 component2.mxml 파일을 만들 수 있습니다.

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*"> 
    <s:states> 
     <s:State name="State1"/> 
     <s:State name="State2"/> 
    </s:states> 
    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 

    <local:Component1 includeIn="State1"/> 
    <local:Component2 includeIn="State2"/> 
</s:Application> 

두 번째 방법을, 나는 때문에 응용 프로그램의 당신의 설명을 권장 하나 하나의 SWF 응용 프로그램과 여러 SWF 모듈로를 분해 : 그런 다음 응용 프로그램에서이처럼 설정합니다. 이 방법으로 사용자는 사용하려는 것을 다운로드 만합니다. 이 시나리오에서는 이전과 동일하게 수행하지만 구성 요소 대신 모듈을 작성합니다.

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*"> 
    <s:states> 
     <s:State name="State1"/> 
     <s:State name="State2"/> 
    </s:states> 
    <fx:Declarations> 
     <!-- Place non-visual elements (e.g., services, value objects) here --> 
    </fx:Declarations> 

    <mx:ModuleLoader url="Component1.swf" includeIn="State1"/> 
    <mx:ModuleLoader url="Component2.swf" includeIn="State2"/> 
</s:Application> 
+0

고마워요. 이것은 매우 도움이되었습니다. –