From this tutorial http://www.brighthub.com/internet/web-development/articles/11010.aspx
I found the code below. Is there a way to break this out so the mxml file just has the mxml, and the code between the script tags is put in an actionscript file?
Thanks.
-Nick
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
width="600"
height="400"
frameRate="100"
creationComplete="CreationComplete()"
enterFrame="EnterFrame(event)">
<mx:Script><![CDATA[
public function CreationComplete():void
{
}
public function EnterFrame(event:Event):void
{
}
]]></mx:Script>
</mx:Application>
There are several ways of achieving this in Flex:
<mx:Script source="yourfile.as" />You can also use the
includes="yourfile.as"declaration w/in the Script tag:Application):AS File:
MXML File:
Use a framework to inject the functionality you are looking for as a type of “model” which contains the data-functionality you will use. It would look something like this in Parsley:
Two frameworks which come to mind which can help w/injection are Mate or Parsley.
I’m not sure if the code-behind pattern works with the main MXML file (which extends Application), so if you’re having problems, you might try breaking out the content in your Main MXML file into a separate component which is included in Main. It might look something like this:
Main.mxml:
YourComponent.mxml:
YourComponentCodeBehind.as
From what I’ve been able to gather from Flex architecture, this is a very common way of setting up your application: your main MXML includes a single “view” which is the entry-point to the rest of your application. This view the contains all other views which comprise the app.
Hope that makes sense 🙂