apache-flex 使用在其他MXML文件中定义的函数

lndjwyie  于 2022-11-01  发布在  Apache
关注(0)|答案(2)|浏览(160)

我有一个Main.mxml文件和一个RoutePlanner.xmlm文件,RoutePlanner定义了一个自定义的Canvas组件,Main.mxml使用该自定义组件。
问题是RoutePlanner组件包含许多事件,如Click()和MouseMove()等。但是,这些事件引用的函数都在Main.mxml中定义。
mxml是一个巨大的文件,我试图分割。我不能只是移动函数从主到自定义组件,因为在函数中使用的类变量。
是否可以在组件中include Main,以便我可以使用这些方法?或者我应该将所有方法移动到一个AS文件中,并简单地将其包括在Main和组件中?(这将需要更多的工作)
或者,是否可以在组件中创建占位符函数,然后使这些占位符成为可绑定的,然后在Main.mxml中创建组件后,将Main.xml中定义的实际方法绑定到组件中的事件?
先谢谢你,
quarkus

6yoyoihd

6yoyoihd1#

随着应用程序复杂性的增加,您应该考虑使用像Cairngorm或Pure MVC这样的微架构框架。
这些确实有助于组织应用程序。
查看Cairngorm的以下介绍:http://www.davidtucker.net/2008/04/01/cairngorm-videos-available-as-flv-downloads/

ncgqoxb0

ncgqoxb02#

我自己使用事件发现的:
CustomComponent.mxml:

[Event(name="onCreateRoute", type="Event")]
...  
<mx:Button label="Plan Route" click="dispatchEvent(new Event('onCreateRoute'))"/>

Main.mxml

<custom:CustomComponent onCreateRoute="CreateRoute(event);" />

相关问题