【发布时间】:2013-02-13 05:34:09
【问题描述】:
我有一个如下的 mxml 应用程序。如何从 actionscript 文件中更改标签文本?
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="initApp()">
<fx:Script>
<![CDATA[
public function initApp(){
var p = new my_player("a");
}
]]>
</fx:Script>
<s:Label x="700" y="409" text="Label" id="lble" width="131" height="41"/>
</s:Application>
my_player.as 代码
package
{
import spark.components.Label;
public class my_player
{
public var lble:Label;
public function my_player(a:String)
{
lble.text="hello";
}
}
}
【问题讨论】:
-
这段代码打破了OOP的基本原则——封装。或者我不明白这个问题。
-
@IlyaZ 怎么会破坏封装原则?
-
那里有两个 Application 实例,这没有多大意义。如果您之后将 ActionScript 从 MXML 中分离出来,您应该对 Flex 4 (Spark) 蒙皮架构进行一些研究。
-
在继续这种 mxml 和 as3 分离之前,请查看livedocs.adobe.com/flex/3/html/help.html?content=usingas_6.html。
-
@Jari p 对象(第一类)想要链接到标签并在主应用程序中更改标签(第二类)-> 生成新的关系,使将来的修改代码变得困难,这是不好的做法.
标签: actionscript-3 apache-flex mxml flex-spark