2011-12-12 5 views
0

私は、FlexのマニュアルにあるMXMLとActionScriptのコードを用意しています。問題は、パラメータとしてupdateMyString()関数呼び出しステートメントに渡す必要がある "val"変数ですが、コード内では発生しません。何故ですか?FLEXコードの関数パラメータ

<?xml version="1.0"?> 
<!-- binding/BindSetterAS.mxml --> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" 
    xmlns:mx="library://ns.adobe.com/flex/mx"> 
    <s:layout> 
     <s:VerticalLayout/> 
    </s:layout> 
    <fx:Script> 
     <![CDATA[ 
      import mx.binding.utils.*; 
      import mx.events.FlexEvent; 
      // Method called when myTI.text changes. 
      public function updateMyString(val:String):void { 
       myTA.text = val.toUpperCase(); 
      } 
      <!-- Event listener to configure binding. --> 
      public function mySetterBinding(event:FlexEvent):void { 
       var watcherSetter:ChangeWatcher = 
        BindingUtils.bindSetter(updateMyString, myTI, "text"); 
      } 
     ]]> 
    </fx:Script> 
    <s:Label text="Bind Setter using setter method"/> 
    <s:TextInput id="myTI" 
     text="Hello Setter" /> 
    <s:TextArea id="myTA" 
     initialize="mySetterBinding(event);"/> 
</s:Application> 

答えて

0

var watcherSetter:ChangeWatcher = BindingUtils.bindSetter(updateMyString, myTI, "text");

機能は、このようなものです:だから

bindSetter(functionToCall, objectToBind, PropertyToBind)

、あなたが実際にmyTI.textに結合されています。これは、functionToCallの引数、つまりupdateMyStringに渡されます。とった?その値が

を変更したときにセッターメソッドチェーンの現在の値を引数で呼び出すために - 機能:

セッター:

+0

このコメントは問題ありません。これは驚くほどこのコメントと一緒に働きます。 – chrisiek

+0

私はコメントを削除すると完全に私のために動作します –

+0

私はそれが正しく動作することを知っていますが、どのように我々は関数にパラメータを渡すことはありません...それはまだ動作します。 – chrisiek

関連する問題