对于xml来说有点新,我看到脚本嵌入到xml中的示例。除非它是xhtml,否则我不明白为什么你会将一个部分标记为脚本。例如:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="150" styleName="userstory">
<fx:Style source="styles/styles.css"/>
<fx:Text x="5" y="5" width="275" height="135" text="{userStoryText}" fontFamily="notes" fontSize="24"/>
<mx:Script>
<![CDATA[
public var userStoryText:String;
private function handleDown(e:Event):void {
this.startDrag();
}
private function handleUp(e:Event):void {
this.stopDrag();
}
override protected function createChildren():void {
super.createChildren();
super.addEventListener(MouseEvent.MOUSE_DOWN,handleDown);
super.addEventListener(MouseEvent.MOUSE_UP,handleUp);
}
]]>
</mx:Script>
</mx:Canvas>
http://forums.adobe.com/thread/644918
上面纯粹是xml,为什么要使用脚本?只有某些语言才有意义 - 只需javascript和adobe flex吗?
感谢,
Thufir
答案 0 :(得分:3)
如果我没错,你会问为什么 将代码与XML混合?
我认为您有点困惑,您可以将ActionScript代码放在单独的文件中,并在主MXML组件文件中调用它们,或者在MXML组件本身内使用您的actionscript代码。
您使用两种语言编写Flex 应用程序:MXML和ActionScript。 MXML是一种XML标记语言 你用来布局用户界面 组件。你也使用MXML 以声明方式定义非可视方面 一个应用程序,如访问 服务器和数据上的数据源 用户界面之间的绑定 组件和数据源 服务器
http://livedocs.adobe.com/flex/3/html/help.html?content=mxml_2.html
如果您的问题仍未得到解答,请告诉我。
答案 1 :(得分:1)
我不完全确定你在问什么。
Flex是ActionScript和MXML的混合体。 MXML是一种XML方言,正如您所说的那样。
Script标记是一种在MXML组件中包含ActionScript代码的方法。在ActionScript中可以做很多事情,无法在MXML中完成。在您的示例中,脚本会覆盖方法并在方法上定义公共属性。这两件事在MXML中无法完成。
事实上,事件处理程序可以在MXML中在线实现;但如果您的事件处理程序有多行或任何条件逻辑,则会非常麻烦。我不认为可以与'&gt;','&lt;'或'&amp;'进行比较。在MXML中。
你还会怎么做?