2010-03-18 45 views
3

我找不到一个变量绑定文本组件 的htmlText属性里面我希望能够做这样的事情的方式域:怎么做的htmlText CDATA

<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

我不知道它将如何在MXML来处理,但是可以产生在ActionScript中满弦:

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

烨它的工作原理 但我!。仍然想r是否可以直接在mxml中处理? 特别是如果绑定变量发生变化,我需要它在文本组件中进行更新。任何人都有一个想法该怎么办? – 2010-03-18 17:01:49

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约束力,但必须在脚本部分所产生的价值

+0

清除,但是只要边界值发生变化,函数就会被触发吗?我不应该听更改事件吗?或者它是自动完成的? 谢谢。 – 2010-03-19 13:03:53

+0

根据我的经验,绑定到一个函数会在值发生变化时提取它,所以你应该很好走。 – invertedSpear 2010-03-19 15:16:57

+0

如果'UserData'类的'name'属性被声明为'[Bindable]',那么只要绑定属性发生变化,sayHello()函数就会被触发。如果你不确定,给它一个去,你会看到:) – 2010-03-23 05:12:30