Flex: etiquetas anidadas en MXML == método de ejecución & # 8230; ¿Cómo configurar esto?

StackOverflow https://stackoverflow.com/questions/1434578

  •  07-07-2019
  •  | 
  •  

Pregunta

Tengo una clase llamada JDChart, y una clase llamada JDLine. Dentro de JDChart hay un método llamado addLine () que espera 1 parámetro de tipo JDLine. Todo esto esta bien. pero quiero poder poner esto en XML así:

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

Y para cada JDLine anidada en un JDChart en el MXML, quiero que se llame al método addLine () en el JDChart con la respectiva JDLine aprobada.

¿Lo que quiero hacer hace desde entonces? No estoy seguro de cómo configurar esto? ¿Asumo que tengo que usar metaetiquetas en la clase JDChart en algún lugar para decirle al compilador que haga esto? ¿Alguien sabe?

¡Gracias!

¿Fue útil?

Solución

Creo que cuando agregas cosas en MXML así, simplemente las construirá y luego llamará a addChild ().

Podría hacer que JDChart anule addChild () y verifique el tipo de lo que se agrega. Si es una JDLine, puede pasarla a su método addLine () antes de pasarla a super.addChild ().

Otros consejos

Si los objetos JDLine van a ser pareados solo por objetos JDChart, use esto.

En el controlador de eventos agregado de la clase JDLine, agregue el siguiente código:

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);
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top