如何在htmltext CDATA中进行绑定

时间:2010-03-18 14:03:34

标签: flex actionscript-3 actionscript cdata

我找不到在Text组件的htmlText属性中绑定变量的方法  我希望能够做到这样的事情:

<mx:Text id="bodyText"  styleName="bodyText">
<mx:htmlText >
    <![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour {UserData.name} ]]>

    </mx:htmlText>
</mx:Text>

我想绑定 UserData.name

2 个答案:

答案 0 :(得分:5)

  

“但我仍然想知道是否可以直接在mxml中处理?特别是如果绑定变量发生变化,我需要在文本组件中更新它。”
  Hichem

您可以将属性绑定到函数调用,以便每当绑定值更改时,函数调用的结果将用作htmlText的值:

<mx:Script>
<![CDATA[

    function sayHello(userName:String):String
    {
        var text:String = "<![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour " + userName + " ]]>";
        return text;
    }

]]>
</mx:Script>

<mx:Text id="bodyText" styleName="bodyText" htmlText="{sayHello(UserData.name)}" />

这就像两者的结合 - 在MXML中指定你的绑定,但是在脚本部分中生成了值。

答案 1 :(得分:2)

我不确定如何在MXML中处理它,但你可以在Actionscript中生成完整的字符串:

bodyText.htmlText = "<![CDATA[<img src='assets.OrangeRect' align='left' hspace='0' vspace='4'/>    Bonjour " + UserData.name + " ]]>";