Flex:MXML中的嵌套标签==运行方法....如何设置?

时间:2009-09-16 18:03:57

标签: flex mxml

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

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

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

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

谢谢!

2 个答案:

答案 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);
}