如果使用{result}而不是{this.result},绑定机制将无法正常工作。我没有找到任何描述这件事的文件。我正在使用Flex 3.5。你知道原因吗?
<?xml version="1.0" encoding="utf-8"?>
<mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
<mx:Script>
<![CDATA[
[Bindable]
public var result:String ="b";
function confirm():void{
result = "changed text";
}
]]>
</mx:Script>
<mx:TextInput text="{this.result}"/>
<mx:Button label="Confirm" buttonDown="{confirm();}"/>
</mx:Panel>
答案 0 :(得分:1)
这不是Binding的问题。据我所知,你应该避免使用&#34;结果&#34;作为变量名,因为它由组件使用。如果你将结果重命名为result1,它将完美地工作,无论&#34;这个&#34;关键字。
要查看&#34;结果&#34;之间的区别和#34; this.result&#34;你可以尝试定义你的结果&#34;变量为静态变量。它看起来像这样:
因此,如果某个变量存在不确定性,那么这个&#34;意味着它是一个成员变量而不是静态变量。
这个表达式也可以显示两个变量之间的区别:
<mx:TextInput text="{this.result === result}"/>
在你的情况下它返回false。