我有一个Main.mxml文件和一个RoutePlanner.xmlm文件。 RoutePlanner定义了一个自定义Canvas组件,Main.mxml使用该自定义组件。
问题是RoutePlanner组件包含很多事件,例如Click()和MouseMove()等。但是这些事件引用的函数都是在Main.mxml中定义的。
Main.mxml是一个巨大的文件,我正试图分手。我不能只将函数从Main移动到自定义组件,因为函数中使用了类变量。
可以include
组件中的Main,所以我可以使用这些方法吗?或者我应该将所有方法移动到AS文件,并将其包含在Main和组件中? (这需要安静一点工作)
或者是否可以在组件中创建占位符函数,并使这些占位符可绑定,而不是在Main.mxml中创建组件之后,将Main.xml中定义的实际方法绑定到组件中的事件?
提前致谢,
Kwaak
答案 0 :(得分:1)
随着应用程序的复杂性增加,您应该考虑使用像Cairngorm或Pure MVC这样的微架构框架。
这些确实有助于整理您的应用程序。
查看Cairngorm的这些介绍:http://www.davidtucker.net/2008/04/01/cairngorm-videos-available-as-flv-downloads/
答案 1 :(得分:0)
使用事件发现自己:
CustomComponent.mxml:
[Event(name="onCreateRoute", type="Event")]
...
<mx:Button label="Plan Route" click="dispatchEvent(new Event('onCreateRoute'))"/>
Main.mxml
<custom:CustomComponent onCreateRoute="CreateRoute(event);" />