我找不到在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
答案 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 + " ]]>";