2008-10-13 10 views
1

저는 첫 번째 플렉스 앱을 구축 중이며 현재 유지 관리가 가능하도록 여러 구성 요소로 분할하고 있습니다. 주요 응용 프로그램의구성 요소의 기능에 직접 액세스

부 : 내가 표시되고 succesfull 로그인 시도 후 가득 목록 보유하고 화면이

<mx:ViewStack id="vsAdmin" height="100%" width="100%"> 
    <mx:TabNavigator id="adminTabs" width="100%" height="100%" historyManagementEnabled="false"> 
     <myComp:compBeheerdersAdmin id="beheerdersViewstackA"/> 
    </mx:TabNavigator> 
</mx:ViewStack> 

구성 요소에서를 compBeheerdersAdmin 기능 requestBeheerdersList는 가져) (이 서버에서 가져온 데이터를 처리기를 통해 목록에 바인딩합니다.

는 로그인 주요 응용 프로그램에서 다음 코드 후 :

mainViewstack.selectedChild = vsAdmin; 
//beheerdersViewstackA.createComponentsFromDescriptors(); 
beheerdersViewstackA.requestBeheerdersList(); 

함수 requestBeheerdersList() 아무것도 않을 때 (도달하지, 난 함수의 첫 번째 문으로 경고를 넣어하지만이 표시되지 않습니다) 나는 swf의 새로운로드 후에 로그인하지만 로그 아웃하고 다시 로그인하면 함수에 도달하면 경고가 표시되고 목록은 서버의 데이터로 채워집니다. 아이디어가 있으십니까?

+0

주 앱에 creationPolicy = "all"을 추가하면 문제가 해결되지만로드 시간이 길어집니다. 주석 처리 된 행 (createComponentsFromDescriptors)은 문제를 해결하지 못합니다. – Overbeeke

답변

1

다음 함수를 호출하기 전에 호출 할 구성 요소가 있는지 확인해야합니다. 이 작업은 creationPolicy = all을 강제로 수행하여 수행 할 수 있습니다.

private function doThisFirst():void{ 
     mainViewstack.selectedChild = vsAdmin; 
     vsAdmin.addEventListener(FlexEvent.CREATION_COMPLETE,doThis); 
} 


private function doThis():void{ 
     beheerdersViewstackA.requestBeheerdersList(); 
} 

이 정확하게 정확하지 않을 수 있습니다하지만 난 당신의 구체적인 예에 ​​다시 시도하십시오의 creationComplete 원하는 함수를 호출하는 당신은 또한 이벤트 리스너를 추가 할 수 있습니다. 자녀 및 이벤트 리스너의 뷰 스택 작성에 익숙한 경우이를 특정 필요에 맞출 수 있어야합니다.

0

또는, 당신은의 creationComplete이 MXML로 정의 할 수 있습니다

<mx:Canvas ... creationComplete="onCreationComplete()"> 

<mx:Script> 
    <![CDATA[ 
    private function onCreationComplete():void { 
     requestBeheerdersList() 
    } 
]]> 
</mx:Script> 

또는 가능

<mx:Canvas ... creationComplete="requestBeheerdersList()"> 

플렉스에 어려움이 MXML 구성 요소에 해당하는 순수 액션 스크립트 클래스를 매핑하는 방법을 이해하는 것입니다. mxml 코드에서 < local : Mycomponent id = "myComponent">과 같은 코드를 사용하면 하위 클래스에 클래스 인스턴스를 추가합니다. mxml 파일 Mycomponent.mxml이 클래스를 정의합니다. 정적으로 선언되지 않은 한 < mx : Script > 태그 내에 나열된 함수는 인스턴스에 적용되는 함수입니다. 명시 적으로 정의 할 수있는 생성자가 없지만 실제 생성 전에 인스턴스를 사용할 수 없습니다. 따라서 엄격하게 AS3 클래스의 생성자 함수에서 호출 한 모든 함수를 실행하려면 creationComplete에 의존해야합니다.