我有一个名为JDChart的类,以及一个名为JDLine的类。在JDChart中有一个名为addLine()的方法,它需要一个JDLine类型的参数。这一切都很好。但是我希望能够将它放在XML中这样:
<JDChart>
<JDLine/>
<JDLine/>
<JDLine/>
</JDChart>
对于嵌套在MXML中的JDChart中的每个JDLine,我希望在JDChart上调用addLine()方法并传递相应的JDLine。
从那以后我想做什么?我不确定如何设置它?我假设我必须在某个地方的JDChart类上使用元标记来告诉编译器这样做?有谁知道吗?
谢谢!
答案 0 :(得分:0)
我相信当您在MXML中添加内容时,它只会构造它们然后调用addChild()。
您可以让JDChart覆盖addChild(),并检查所添加内容的类型。如果是JDLine,则可以在将其传递给super.addChild()之前将其传递给addLine()方法。
答案 1 :(得分:0)
如果JDLine对象仅由JDChart对象作为父对象,请使用此对象。
在JDLine类的added
事件处理程序中,添加以下代码:
public function onAdded(e:Event):void
{
var chart:JDChart = this.parent as JDChart;
if(!chart)
throw new Error("Parent is not JDChart");
chart.addLine(this);
}