如何将编译时包含在代码中的代码片段插入到MXML中,例如Progress包含的代码片段?例如:在Progress中,我使用这种方式来做我想做的事情。
MyInclude.i
DEF VAR myVar AS CHAR NO-UNDO.
FUNCTION fnSetChar RETURNS LOGICAL:
ASSIGN myVar = 'test'.
END FUNCTION.
MyProgram.p
{MyInclude.i}
MESSAGE fnSetChar() SKIP myVar
VIEW-AS ALERT-BOX BUTTONS OK.
有很多方法可以使用进度中包含、传递参数、重用代码等。
我想知道如果有人有一个想法,我怎么能在Flex做这样的事情。例如:
<fx:Declarations>
//include the content of the "include file" here in compile time
</fx:Declarations>
对不起我的英语。希望有人能帮我解决这个问题。
谢谢。
基于如何将一个MXML文件内联到另一个MXML文件?,没有办法完全按照的要求做。然而,你可以很容易地重写你的<s:HTTPService>
对象使用Actionscript而不是MXML。
从myflex。mxml:
<s:Application ...>
<fx:Declarations>
<s:HTTPService id="service1" url="http://www.example.com/s1/" />
<s:HTTPService id="service2" url="http://www.example.com/s2/" />
<s:HTTPService id="service3" url="http://www.example.com/s3/" />
</fx:Declarations>
<s:Group id="visualContainer">
<!-- other visible controls here -->
<s:Button label="Service one" click="service1.send()" />
</s:Group>
</s:Application>
到下面:
<s:Application ...>
<fx:Script source="includes/IncludedFile.as"/>
<s:Group id="visualContainer">
<!-- visible controls here -->
<s:Button label="Service one" click="service1.send()" />
</s:Group>
</s:Application>
包括/IncludedFile.as:
var service1:HTTPService = new HTTPService("http://www.example.com/s1/");
var service2:HTTPService = new HTTPService("http://www.example.com/s1/");
var service3:HTTPService = new HTTPService("http://www.example.com/s1/");
有关此主题的更多信息,请参见包含与导入ActionScript代码。