我在同一个包下定义了两个类,分别如下:
TextScript.as
package cee.view{public class TextScript extends Text{private var text:Text;public function TextScript(text:Text){
this.text=text;
}
}
}
Text.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009"  
xmlns:s="library://ns.adobe.com/flex/spark"  
xmlns:mx="library://ns.adobe.com/flex/mx" layout="absolute" width="400" height="300">
<fx:Script>
<![CDATA[
private var textScript:TextScript=new TextScript(this);
]]>
</fx:Script>
</mx:Module>
这样写会报错。
怎样才能使得Text.mxml中得到TextScript.as的引用的同时,
使得TextScript.as得到Text.mxml的引用

解决方案 »

  1.   

    private var textScript:TextScript=new TextScript(this);
    你确定Text已经实例化?
    LZ请去了解一些类的实例化顺序
    --------------------------------------------------
    private var textScript:TextScript = null;onCreationComplement(){
       textScript = new TextScript(this);
    }
      

  2.   

    我也是刚学FLEX不久,我发现在java里可以这么定义的,
    没有想到在FLEX不可以,其实我是不喜欢现在的绝大多数
    容器标签和代码分离的方式,所以试试这个看看的
      

  3.   

    private var textScript:TextScript=new TextScript(this);this指向text.mxml定义的Module,和Text不是同一种类型,会报错的