首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

关于as类引用mxml对象的有关问题

2012-02-23 
关于as类引用mxml对象的问题B.mxmlmx:TextInput x244 y127 idtbName/A.as类里面想得到tbName.t

关于as类引用mxml对象的问题
B.mxml
<mx:TextInput x="244" y="127" id="tbName"/>

A.as类里面想得到tbName.text,如果不通过B页面主动传递参数过来有什么办法。
 public function Record():void  
{  
tbName.text="请输入视频文件名:";  

}  
直接这样写在B页面调用这个方法的时候会出错,提示tbName没有定义

[解决办法]
在 as代码中持一份mxml的对象
package com.asMxml.test
{
public class AsMxmlT
{
public var t:TestAsMxml;
public function AsMxmlT()
{
}
public function changeName():void{
t.labT.text="helloworld";
}

}
}

在mxml对象中
给as中的mxml中的对象赋值
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import com.asMxml.test.AsMxmlT;
internal function onClick():void{
var a:AsMxmlT=new AsMxmlT();
a.t=this;
a.changeName();
}
]]>
</mx:Script>
<mx:Panel x="103" y="134" width="343" height="200" layout="absolute">
<mx:Button x="51" y="99" label="Button" click="onClick();"/>
<mx:Label x="81" y="31" text="你好" width="196" id="labT"/>
</mx:Panel>

</mx:Application>


经测试是完全可以用的

[解决办法]
记事本改的格式可能不行.

分离的关键是 mxml文件里维持一个as类实例,
as类中维持一个mxml类实例,然后在as文件里访问控件时前面加上mxml实例名
如:mxmlDemo.lbName

希望有所帮助

热点排行