我有一个名为JDChart的类,以及一个名为JDLine的类。在JDChart中有一个名为addLine()的方法,它需要一个JDLine类型的参数。这一切都很好。但是我希望能够将它放在XML中这样:

<JDChart>
<JDLine/>
<JDLine/>
<JDLine/>
</JDChart>

对于嵌套在MXML中的JDChart中的每个JDLine,我希望在JDChart上调用addLine()方法并传递相应的JDLine。

从那以后我想做什么?我不确定如何设置它?我假设我必须在某个地方的JDChart类上使用元标记来告诉编译器这样做?有谁知道吗?

谢谢!

有帮助吗?

解决方案

我相信当您在MXML中添加内容时,它只会构造它们然后调用addChild()。

您可以让JDChart覆盖addChild(),并检查所添加内容的类型。如果是JDLine,则可以在将其传递给super.addChild()之前将其传递给addLine()方法。

其他提示

如果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);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top