Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 理解动作脚本中的cairngormevents_Apache Flex_Actionscript 3_Flex4 - Fatal编程技术网

Apache flex 理解动作脚本中的cairngormevents

Apache flex 理解动作脚本中的cairngormevents,apache-flex,actionscript-3,flex4,Apache Flex,Actionscript 3,Flex4,我有一个下拉列表,由带有caringorm事件的web服务异步填充。我需要知道此事件何时完成,以便设置所选组合框行。数据已填充,但我不知道如何订阅此事件。有人知道热做这件事吗 此代码似乎不起作用 CairngormEventDispatcher.getInstance().addEventListener(SomeEvent.GETDATA,formLoaded); 新建SomeEvent(SomeEvent.GETDATA).dispatch() 受保护函数formLoaded(事件:Cair

我有一个下拉列表,由带有caringorm事件的web服务异步填充。我需要知道此事件何时完成,以便设置所选组合框行。数据已填充,但我不知道如何订阅此事件。有人知道热做这件事吗

此代码似乎不起作用

CairngormEventDispatcher.getInstance().addEventListener(SomeEvent.GETDATA,formLoaded); 新建SomeEvent(SomeEvent.GETDATA).dispatch()

受保护函数formLoaded(事件:CairngormEvent):无效{
Alert.show(“Woot”);}

Cairngorm是一种MVC微体系结构

首先:这里是cairngorm 2.2.1的文档

CairngormEvent通过FrontController类的addCommand方法与ICommand关联。 因此,每当执行SomeEvent(SomeEvent.GETDATA).dispatch()时,实际上是在执行控制器与SomeEvent.GETDATA关联的命令的execute()方法

倾听CairngormEventDispatcher的事件不是最佳做法。 在任何情况下都不应该调用CairngormEventDispatcher,该类的存在是为了使整个微体系结构正常运行

<>你的视图(组合框)应该对模型(WebService的结果)自动作出反应(或者通过中间的其他对象(如PuReCVC))< /P> 我建议使用cairngorm快速解决您的问题:

  • 将webservice注册到服务定位器中,以便对其进行应用程序级引用(为此,只需创建一个扩展ServiceLocator的mxml组件,并将httpservice或webservice标记放在其中,然后为其分配一个id)

  • 创建模型定位器(存储从web检索的数据的类),并将要在组合框中显示的数据列表标记为[Bindable]

  • 识别与SomeEvent.GETDATA和

  • 在execute方法中调用在服务定位器中注册的服务
  • 实现IResponder接口(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/rpc/IResponder.html)为了处理服务的结果(在execute方法中将您的命令注册为服务的响应者)
  • 在result方法中,解析从服务器返回的数据,然后将它们存储到模型定位器中(可以通过单例访问器轻松检索)

  • 在视图(包含组合的mxml文件)中,将组合数据提供程序绑定到模型定位器数据列表(前面几行已设置为可绑定),以使其对模型中发生的更改作出反应

玩得开心;)