2013-05-21 51 views
0

如果使用{result}而不是{this.result},則綁定機制不能工作。我沒有找到任何文件描述這件事。我正在使用Flex3.5。你知道原因嗎?這必須用於引用bindadle屬性

<?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> 

回答

1

這不是綁定問題。據我所知,你應該避免使用「result」作爲變量名,因爲它被組件使用。如果將結果重命名爲result1,則無論「this」關鍵字如何,它都能正常工作。

要查看「result」和「this.result」之間的區別,您可以嘗試將「result」變量定義爲靜態變量。它看起來是這樣的:

enter image description here

所以,如果有關於一些變量的不確定性「這」意味着它是一個成員變量,而不是靜態的。

這個表達式可以告訴你兩個變量之間的差異,以及:

<mx:TextInput text="{this.result === result}"/> 

返回你的情況虛假。

+0

非常棒,感謝您的回答。它解決了我的pullze。 –

相關問題