【发布时间】:2011-11-23 11:20:24
【问题描述】:
我有一个MXML 文件,里面有这个:
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" height="30">
<mx:Script>
<![CDATA[
public function initLayer(name:String):void{
t_layer.text = name;
}
]]>
</mx:Script>
<mx:Grid id="mainGrid" width="100%" height="100%" >
<mx:GridRow>
<mx:GridItem width="80%">
<mx:Text id="t_layer" text="new" />
</mx:GridItem>
</mx:GridRow>
</mx:Grid>
</mx:Canvas>
从另一个 AS 文件,我正在创建一个 Layer 对象:
public function addLayer(name:String):void{
var layer:Layer = new Layer();
layer.initLayer(name);
layer.x = 0;
layer.y = _layers*layer.height;
layersContainer.addChild(layer);
_layers++;
}
但是我在initLayer 函数中遇到了一个相对于undefined property for null object t_layer 的错误。
我做错了什么?你能帮帮我吗?
编辑:
我不敢相信。只需回答 Timofei,当我测试我的 ode 时它就可以工作。如何?我像这样更改addLayer 方法中函数的顺序:
public function addLayer(name:String):void{
var layer:Layer = new Layer();
layer.x = 0;
layer.y = _layers*layer.height;
layersContainer.addChild(layer);
layer.initLayer(name);
_layers++;
}
【问题讨论】:
-
难以捉摸的黑森虫。如果您发现更多信息,可以再次标记以重新打开,以便发布答案。
标签: apache-flex mxml flex-mx