我对 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