0

我对 RobotLegs 2.2.1 中的中介注入有一点问题。

我有一个使用 WizardViewMediator 注入的 WizardView。

如果向导已打开、编辑和关闭,一切正常。如果向导已打开并且浏览器窗口已调整大小,则会出现此问题。在某个特定点,向导停止调整大小会自动添加水平 Scroller,如果发生这种情况,RobotLegs 认为整个视图已添加到舞台并分配了新的中介。现在所有已经存在于先前调解器中的状态都将丢失,并且由于初始化方法的新调用而重置了视图。

堆栈如下:

test.project.view.wizard::WizardMediator/initialize 
robotlegs.bender.extensions.mediatorMap.impl::MediatorManager/initializeMediator    
robotlegs.bender.extensions.mediatorMap.impl::MediatorManager/addMediator   
robotlegs.bender.extensions.mediatorMap.impl::MediatorFactory/addMediator   
robotlegs.bender.extensions.mediatorMap.impl::MediatorFactory/createMediator    
robotlegs.bender.extensions.mediatorMap.impl::MediatorFactory/createMediators   
robotlegs.bender.extensions.mediatorMap.impl::MediatorViewHandler/handleView    
robotlegs.bender.extensions.mediatorMap.impl::MediatorMap/handleView    
robotlegs.bender.extensions.viewManager.impl::ContainerBinding/handleView   
robotlegs.bender.extensions.viewManager.impl::StageObserver/onViewAddedToStage  
flash.display::DisplayObjectContainer/addChild [no source]  
mx.core::Container/http://www.adobe.com/2006/flex/mx/internal::createContentPane    
mx.core::Container/createOrDestroyScrollbars    
mx.core::Container/createScrollbarsIfNeeded 
mx.core::Container/createContentPaneAndScrollbarsIfNeeded   
mx.core::Container/validateDisplayList  
mx.managers::LayoutManager/validateDisplayList  
mx.managers::LayoutManager/doPhasedInstantiation    
Function/http://adobe.com/AS3/2006/builtin::apply [no source]   
mx.core::UIComponent/callLaterDispatcher2   
mx.core::UIComponent/callLaterDispatcher    

我试图检查视图是否已经初始化并跳过初始化,但是之前调解器中的所有状态都丢失了,这是不可接受的。

任何想法如何防止新的中介注入或使 RobotLegs 清楚新的滚动条不需要创建新的中介。

它也仅在应用程序启动并且第一次调整向导大小以添加滚动条时才会发生。

谢谢,KBC

4

0 回答 0