Apache flex Robotlegs Flex-如何处理creationComplete之后初始化的中介?
我试图使用Robotlegs框架构建一个Flex应用程序,但不知道如何处理中介的创建(->调用onRegister),只在视图组件的creationComplete事件之后 我的应用程序在启动时加载几个XML文件,从这些文件创建模型,然后用数据发送事件。 问题:在启动时“加载”嵌入/本地文件时,模型事件在添加中介侦听器之前被调度,尽管它们在主上下文中触发初始数据加载之前被映射 除了在mediators onRegister中手动调度事件外,是否有人将机器人腿与flex结合使用,并提供了一种“更干净”的解决方法?这样一来,“自动”调解就不再是自动的了 编辑:Apache flex Robotlegs Flex-如何处理creationComplete之后初始化的中介?,apache-flex,frameworks,robotlegs,Apache Flex,Frameworks,Robotlegs,我试图使用Robotlegs框架构建一个Flex应用程序,但不知道如何处理中介的创建(->调用onRegister),只在视图组件的creationComplete事件之后 我的应用程序在启动时加载几个XML文件,从这些文件创建模型,然后用数据发送事件。 问题:在启动时“加载”嵌入/本地文件时,模型事件在添加中介侦听器之前被调度,尽管它们在主上下文中触发初始数据加载之前被映射 除了在mediators onRegister中手动调度事件外,是否有人将机器人腿与flex结合使用,并提供了一种“更干
最小示例代码: 上下文:
覆盖公共函数启动():void{
mediatorMap.mapView(EditorMenu,editormenummediator);
commandMap.mapEvent(ContextEvent.STARTUP,LoadConfigurationCommand);
dispatchEvent(新ContextEvent(ContextEvent.STARTUP));
}
LoadConfigurationCommand:[Inject]公共var配置服务:IXMLLoader代码>
重写公共函数execute():void{
configurationService.loadXML();
}
配置服务:
公共函数loadXML(){
跟踪(“加载的xml”);
调度(新的XMLLoadedEvent(XMLLoadedEvent.CONFIGURATION\u LOADED,result));
}
EditorNuMediator:
重写寄存器()上的公共函数:void{
跟踪(“注册菜单”);
addContextListener(XMLLoadedEvent.CONFIGURATION_-LOADED,handleXmlLoaded,XMLLoadedEvent);
}
跟踪“menu onregister”发生在跟踪“xml loaded”之前,因此在调度XmlLoadedEvent时中介没有监听。我不擅长机器人腿(我实际上是欧芹成瘾者),但是,如果您使用的是中介模式,这意味着您的中介可以直接访问视图本身。为所有视图创建一个接口类,该类具有一个init
公共函数,您的中介可以在onRegister之后调用该函数
也许机器人腿有另一种方法来处理元数据、事件或其他东西,但这仍然是有效的。我通过抓取和控制操作顺序来实现这一点。这里的另一种方法是添加监听器,但也注入模型并在onRegister中检查它的数据。任何一种方法都应该让你站在比赛条件的前面。也许我的问题有点恼人——从我的调解人那里访问视图就可以了。我正在做的是:将视图映射到中介->在中介onRegister中为Event.dataloaded事件添加eventlistener->加载(本地)数据,将其解析为模型并分派Event.dataloaded。但是视图没有注意到该事件,因为呈现过程花费的时间太长,并且在调度event.dataloaded之后调用onRegister。可以通过使用RelaxedEventMap(为我存储事件)或手动请求从views onRegister加载初始数据来解决此问题。。。。。。对于每个需要加载一些初始数据的视图,我必须这样做,以确保它们都准备好接收事件。但这感觉不对!呃,可能会显示一些代码?帮帮我,我完全不知道。啊,现在我明白了。我要解决这个问题的方法是,将xml添加到上下文知道它的模型中,然后将它注入到中介中。这有意义吗?在上下文中创建一个模型,将其注入到服务器保存到其中的服务中,并将相同的模型注入到中介中。这是有意义的,但将模型注入到中介中是我想要避免的简单方法。它会导致紧密耦合,而且往往会在中介中放入太多的逻辑,因为直接访问和操作模型比编写命令和分派事件更方便。这至少是我在robotlegs文档和官方论坛上读到的,我对这个框架还没有真正的经验。状态机似乎正是我想要的——完美!到目前为止,我一直在努力避免将模型注入中介体。很多时候,我从注入(耦合)中介体和模型/服务开始,并根据需要进行抽象,但我总是使用状态机来引导一个非常重要的应用程序。我是个控制狂;)