Pregunta

Estoy tratando de emitir una oración que contiene 4 variables, con sus valores envalentonados usando el siguiente código:

<mx:Text width="100%" y="307">
    <mx:htmlText>
        <![CDATA[Showing data from <b>{labelStartTime.text} {labelStartDate.text}</b> to <b>{labelEndTime.text} {labelEndDate.text}</b>]]>
    </mx:htmlText>
</mx:Text>

Sin embargo, esto solo genera los nombres de las variables, en lugar de sus valores. Estoy seguro de que me estoy perdiendo algo simple, pero apreciaría cualquier sugerencia.

Saludos.

¿Fue útil?

Solución

Sé de una solución:

Actionscript:

private var variable:String = "Variable String";
private var str:String = "<i><b>" + Variable + "</b></i>";

Mxml:

<Text htmlText="{str}" />

Otros consejos

No creo que sea posible agregar enlaces directamente en una sección de CDATA como esa, aunque sí tienes un par de opciones:

  1. Use una función, aprovechando BindingUtils.bindSetter:
    import mx.binding.utils.BindingUtils;
    //called on creationComplete
    private function init():void
    {
        BindingUtils.bindSetter(setHtmlText, labelStartTime, "text");
        BindingUtils.bindSetter(setHtmlText, labelStartDate, "text");
        BindingUtils.bindSetter(setHtmlText, labelEndTime, "text");
        BindingUtils.bindSetter(setHtmlText, labelEndDate, "text");
    }
    
    private function setHtmlText(val:String):void
    {
        myText.htmlText = "Showing data from <b>" + 
                            labelStartTime.text + " " + 
                            labelStartDate.text + "</b> to <b>" + 
                            labelEndTime.text + " " +
                            labelEndDate.text + "</b>";
    }
  2. O simplemente codifique las etiquetas e insértelas directamente en el atributo:
    <mx:Text id="myText" width="100%" y="307" 
             htmlText="Showing data from &lt;b&gt;{labelStartTime.text} {labelStartDate.text}&lt;/b&gt; to &lt;b&gt;{labelEndTime.text} {labelEndDate.text}&lt;/b&gt;"/>
    Esto no se recomienda en realidad, ya que hace que el marcado sea increíblemente difícil de leer, pero podría salirse con la suya por algo tan pequeño como este.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top