flex 强制viewStack更新
?viewStack 第一次创建后,后面viewStack切换时,viewStack的子组件没有重新初始化,如果要强制重新初始化,必须先从viewStack移除改组件,然后重新加入到viewStack.
<mx:ViewStack id="viewStack" creationPolicy="auto" width="100%" height="100%" change="viewStack_changeHandler(event)" ><s:NavigatorContent id="MAINFORM" width="100%" height="100%" ><view:MainForm id="showForm" width="100%" height="100%"/></s:NavigatorContent><s:NavigatorContent id="USERSET" width="100%" height="100%"><view:UserSetForm id="userSetForm" width="100%" height="100%"/></s:NavigatorContent><s:NavigatorContent id="SURBETSET" width="100%" height="100%"><view:SurebetSetForm id="surbetSetForm" width="100%" height="100%"/></s:NavigatorContent><s:NavigatorContent id="MAKERSSET" width="100%" height="100%"><view:MakersSetForm id="makersSetForm" width="100%" height="100%"/></s:NavigatorContent><s:NavigatorContent id="REPORT" width="100%" height="100%"> <view:ReportForm id="reportForm" width="100%" height="100%"/></s:NavigatorContent><s:NavigatorContent id="calcContent" width="100%" height="100%"> <view:CalcForm id="calcForm"/></s:NavigatorContent><s:NavigatorContent id="viewMakersDetailContent" width="100%" height="100%"><component:ViewMakersDetail id="viewMakerDetailForm"/></s:NavigatorContent></mx:ViewStack>
?
//强制viewStack更新protected function viewStack_changeHandler(ie:IndexChangedEvent):void{// TODO Auto-generated method stubvar obj:NavigatorContent = ie.relatedObject as NavigatorContent; if(obj.name=='calcContent'){ if(calcForm==null) calcForm = new CalcForm(); calcContent.addElement(calcForm); }else{ calcContent.removeElement(calcForm); calcForm = null; } }
? 不知道大家有米有其他更好的方式。。。。。。。。。。。 flex 采用Hero SDK。。。。