Actionscript 3 Flex 3.6和机器人腿,ViewMediator在windowresize后更改

Actionscript 3 Flex 3.6和机器人腿,ViewMediator在windowresize后更改,actionscript-3,apache-flex,flex3,robotlegs,Actionscript 3,Apache Flex,Flex3,Robotlegs,关于RobotLegs 2.2.1中的中介体注入,我有一个小问题 我有一个WizardView,其中注入了WizardViewMediator 如果向导处于打开、编辑和关闭状态,则一切正常。 如果向导处于打开状态且浏览器窗口的大小已调整,则会出现此问题。 在某个特定点,向导停止调整大小,自动添加水平滚动条,如果发生这种情况,RobotLegs会认为整个视图已添加到后台,并分配了一个新的中介。现在,由于initialize方法的新调用,上一个中介中已经存在的所有状态都将丢失,视图将重置 堆栈如下所

关于RobotLegs 2.2.1中的中介体注入,我有一个小问题

我有一个WizardView,其中注入了WizardViewMediator

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

堆栈如下所示:

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    
我试图检查视图是否已经初始化并跳过初始化,但上一个中介中的所有状态都丢失,这是不可接受的

如何防止新的中介体注入,或者让机器人腿清楚地知道,新的滚动条不需要创建新的中介体

只有在应用程序启动并且第一次调整向导大小以添加滚动条时,才会发生这种情况

谢谢,
KBC

视图有可能再次添加到stage,因为如果新的中介弹出,Event.added\u to\u stage listener就会发生。尝试将事件侦听器直接添加到构造函数中的视图中,并查看它何时发生。作为一种解决方法,您可以防止传播。还要检查视图的实例,看看它是否真的是同一个视图。您的中介不应该有状态,或者应该能够通过读取模型来恢复状态。只有中介更改,视图保持不变,我们已经检查过了。所以问题是,滚动条是在应用程序级别创建的,所以整个树中的每个组件都被删除并添加到新窗格中。因此,机器人腿认为每个组件都添加到了舞台上,并添加了新的中介@Amy我们只在页面由于验证而关闭的情况下写入对模型的更改,而且中介器会创建动态向导页面。我们目前的解决方案是强制应用程序在启动时创建滚动窗格,这样在运行时就不会发生这种情况。嗯,在我看来,您需要改变方法,以便您的应用程序能够真正实现数据驱动(例如,尽可能多地更改模型,然后生成一个触发验证的事件)。调解人不是有状态的。