mxml中调用as文件中的类
网上一个计算器的例子,计算器类放在 CalculatorController.as文件中,完成加减乘除运输。
如下:
public class CalculatorController
{
public var calcView:Object;
private var reg1:String="";
.....
}
mxml文件中 下面的语句
<CalculatorController id="calcController" calcView="{this}"/>
编译报错:无法将“<CalculatorController>”解析为组件执行。
事件绑定语句,没有问题
<mx:Button width="70" label="Clear" click="calcController.clearAll()"/>
[解决办法]
要引用这个类的位置
[解决办法]
你的CalculatorController定义成组件了吗?没继承什么吗?
[解决办法]
组件类是这样用的:
新建的myTree类:
package myClass
{
import mx.controls.Tree;
public class myTree extends Tree
{
public function myTree()
{
super();
}
}
}
引用的mxml代码:
<?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" minWidth="955" minHeight="600" xmlns:myClass="myClass.*">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<myClass:myTree >
</myClass:myTree>
</s:Application>
[解决办法]
4楼正解
它的这个添加一个id,则可以通过id访问类中的内容了
<myClass:myTree >
</myClass:myTree>
[解决办法]
xmlns:my="类的包路径.CalculatorController"
引用
<my:CalculatorController id="xxx">
</my:CalculatorController>
[解决办法]
楼上正解