Flex: вложенные теги в MXML == метод запуска.... как это настроить?
У меня есть класс с именем JDChart и класс с именем JDLine. Внутри JDChart есть метод addLine(), который ожидает 1 параметр типа JDLine. Это все хорошо. но я хочу иметь возможность поместить это в XML, как это:
<JDChart>
<JDLine/>
<JDLine/>
<JDLine/>
</JDChart>
И для каждой JDLine, вложенной в JDChart в MXML, я хочу, чтобы метод addLine() вызывался на JDChart с соответствующей переданной JDLine.
Делает ли то, что я хочу сделать, с тех пор? Я не уверен, как это настроить? Я предполагаю, что я должен использовать мета-теги в классе JDChart где-нибудь, чтобы сказать компилятору сделать это? Кто-нибудь знает?
Спасибо!!
2 ответа
Я считаю, что когда вы добавляете такие вещи в MXML, они просто конструируют их, а затем вызывают addChild ().
Вы можете иметь JDChart переопределить addChild(), и проверить тип того, что добавляется. Если это JDLine, вы можете передать его в свой метод addLine(), прежде чем передать его в super.addChild ().
Если объекты JDLine собираются родить только объекты JDChart, используйте это.
в added
обработчик события класса JDLine, добавьте следующий код:
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);
}