パッケージmx.binding.utils
Classpublic class ChangeWatcher
継承ChangeWatcher Inheritance Object

ChangeWatcher クラスは、バインド可能な Flex プロパティと共に使用できるユーティリティメソッドを定義します。 これらのメソッドを使用すると、バインド可能プロパティが更新されるたびに実行されるイベントハンドラを定義できます。

関連項目

Defining data bindings in ActionScript


パブリックプロパティ
 プロパティ定義元
 Inheritedconstructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。
Object
 Inheritedprototype : Object
[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。
Object
パブリックメソッド
 メソッド定義元
  
ChangeWatcher(access:Object, handler:Function, commitOnly:Boolean = false, next:ChangeWatcher = null)
コンストラクタです。
ChangeWatcher
  
canWatch(host:Object, name:String, commitOnly:Boolean = false):Boolean
[静的] そのプロパティに対するデータバインディングイベントをホストが公開しているかどうかを判別できます。
ChangeWatcher
  
getEvents(host:Object, name:String, commitOnly:Boolean = false):Object
[静的] ホストオブジェクトのすべてのバインド可能プロパティに対するすべてのバインディングイベントを返します。
ChangeWatcher
  
監視されるプロパティまたはプロパティチェーンの現在の値を取得します。ホストオブジェクトが null の場合は null が取得されます。
ChangeWatcher
 Inherited
オブジェクトに指定されたプロパティが定義されているかどうかを示します。
Object
 Inherited
Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。
Object
  
チェーン内の各 Watcher に少なくとも 1 つの change イベントが関連付けられている場合は、true を返します。
ChangeWatcher
 Inherited
指定されたプロパティが存在し、列挙できるかどうかを示します。
Object
  
reset(newHost:Object):void
この ChangeWatcher インスタンスをリセットして、新しいホストオブジェクトを使用します。
ChangeWatcher
  
ハンドラ関数を設定します。
ChangeWatcher
 Inherited
ループ処理に対するダイナミックプロパティの可用性を設定します。
Object
 Inherited
指定されたオブジェクトのストリング表現を返します。
Object
  
この ChangeWatcher インスタンスおよびハンドラ関数を現在のホストから削除します。
ChangeWatcher
 Inherited
指定されたオブジェクトのプリミティブな値を返します。
Object
  
watch(host:Object, chain:Object, handler:Function, commitOnly:Boolean = false):ChangeWatcher
[静的] ChangeWatcher インスタンスを作成し、開始します。
ChangeWatcher
コンストラクタの詳細
ChangeWatcher()コンストラクタ
public function ChangeWatcher(access:Object, handler:Function, commitOnly:Boolean = false, next:ChangeWatcher = null)

コンストラクタです。パブリックでの使用を目的としていません。 このメソッドは、watch() メソッドからのみ呼び出されます。 パラメータの使用法については、watch() メソッドを参照してください。

パラメータ
access:Object
 
handler:Function
 
commitOnly:Boolean (default = false)
 
next:ChangeWatcher (default = null)
メソッドの詳細
canWatch()メソッド
public static function canWatch(host:Object, name:String, commitOnly:Boolean = false):Boolean

そのプロパティに対するデータバインディングイベントをホストが公開しているかどうかを判別できます。

パラメータ

host:Object — プロパティのホストです。 詳細については、watch() メソッドを参照してください。
 
name:String — プロパティまたはプロパティチェーンの名前です。 詳細については、watch() メソッドを参照してください。
 
commitOnly:Boolean (default = false) — コミットする change イベントでのみハンドラを呼び出す場合は true に設定します。 詳細については、watch() メソッドを参照してください。

戻り値
Booleantrue なのは、hostname に対する change イベントを公開している場合です。
getEvents()メソッド 
public static function getEvents(host:Object, name:String, commitOnly:Boolean = false):Object

ホストオブジェクトのすべてのバインド可能プロパティに対するすべてのバインディングイベントを返します。

パラメータ

host:Object — プロパティのホストです。 詳細については、watch() メソッドを参照してください。
 
name:String — プロパティまたはプロパティチェーンの名前です。 詳細については、watch() メソッドを参照してください。
 
commitOnly:Boolean (default = false) — コミットしない change イベントを戻り値に入れるかどうかを制御します。

戻り値
Object — そのプロパティに対するすべての change イベントを含む { eventName: isCommitting, ... } 形式のオブジェクトです。
getValue()メソッド 
public function getValue():Object

監視されるプロパティまたはプロパティチェーンの現在の値を取得します。ホストオブジェクトが null の場合は null が取得されます。 次に実際の使用例を示します。

      watch(obj, ["a","b","c"], ...).getValue() === obj.a.b.c
      

戻り値
Object — 監視されるプロパティまたはプロパティチェーンの現在の値です。
isWatching()メソッド 
public function isWatching():Boolean

チェーン内の各 Watcher に少なくとも 1 つの change イベントが関連付けられている場合は、true を返します。 Watcher で選択されたプロパティに対して発生する change イベントはホストによって異なる場合があるため、isWatching() メソッドはホストによって異なります。

戻り値
Boolean — チェーン内の各 Watcher に少なくとも 1 つの change イベントが関連付けられている場合は、true です。
reset()メソッド 
public function reset(newHost:Object):void

この ChangeWatcher インスタンスをリセットして、新しいホストオブジェクトを使用します。 このメソッドを呼び出すと、別のホストにある Watcher インスタンスを再使用できます。

パラメータ

newHost:Object — プロパティの新しいホストです。 詳細については、watch() メソッドを参照してください。

setHandler()メソッド 
public function setHandler(handler:Function):void

ハンドラ関数を設定します。

パラメータ

handler:Function — ハンドラ関数です。 この引数を null に指定しないでください。

unwatch()メソッド 
public function unwatch():void

この ChangeWatcher インスタンスおよびハンドラ関数を現在のホストから削除します。 reset() メソッドを使用すると、ChangeWatcher インスタンスを再追加し、異なるホストオブジェクトにある同じプロパティまたはプロパティチェーンを監視できます。

watch()メソッド 
public static function watch(host:Object, chain:Object, handler:Function, commitOnly:Boolean = false):ChangeWatcher

ChangeWatcher インスタンスを作成し、開始します。 1 つの ChangeWatcher インスタンスで、1つのプロパティまたはプロパティチェーンを監視できます。 プロパティチェーンは、ホストオブジェクトからアクセスできる一連のプロパティです。 例えば、式 obj.a.b.c にはプロパティチェーン(a、b、c)があります。

パラメータ

host:Object — 監視されるプロパティまたはプロパティチェーンをホストするオブジェクトです。 reset() メソッドを使用すると、ChangeWatcher インスタンスを作成した後に host 引数の値を変更できます。
 
chain:Object — 監視されるプロパティまたはプロパティチェーンを指定する値です。 有効な値は次のとおりです。
  • ホストオブジェクトのパブリックなバインド可能パブリックプロパティ名を含むストリングです。
  • { name: property name, getter: function(host) { return host[name] } }.という形式のオブジェクトです。 このオブジェクトには、パブリックなバインド可能プロパティ、およびそのプロパティの getter として機能する関数の名前が含まれます。
  • 最初の2つのオプションの任意の組み合わせを含む空でない配列です。 ホストからアクセスできるバインド可能プロパティのチェーンを表します。 例えば、プロパティ host.a.b.c を監視するには、watch(host, ["a","b","c"], ...) のようにメソッドを呼び出します。

メモ:chain 引数で指定されるプロパティはパブリックである必要があります。describeType() メソッドは、パブリックでないプロパティに関する情報をすべて抑制するからです。パブリックでないプロパティには、指定プロパティに対し公開される change イベントを検索するために ChangeWatcher がスキャンする、バインド可能性を表すメタデータなどがあります。 ただし、上記の { name, getter } 引数形式の使用時に getter 関数を指定すると、指定した(パブリック)プロパティに任意の計算結果を関連付けることができます。

 
handler:Function — 監視されるプロパティまたは監視されるチェーン内のプロパティの変更時に呼び出されるイベントハンドラ関数です。 変更が通知されるのは、Watcher チェーン内のホストオブジェクトが、そのホストオブジェクトの [Bindable] メタデータタグで監視対象プロパティの指定イベントを送出したときです。 デフォルトイベントの名前は propertyChange です。

バインド可能プロパティが送出したイベントオブジェクトは、変更なしにこのハンドラ関数に渡されます。 デフォルトでは、PropertyChangeEvent 型のイベントオブジェクトが送出されます。 ただし、[Bindable] メタデータタグを使用してバインド可能プロパティを定義する場合、独自のイベントタイプを定義できます。

 
commitOnly:Boolean (default = false) — コミットする change イベントでのみハンドラを呼び出す場合は true に設定し、コミットする change イベントとコミットしない change イベントの両方でハンドラを呼び出す場合は false に設定します。 メモ:プロパティについてコミットしない change イベントがあるかどうかは、[NonCommittingChangeEvent(<event-name>)] メタデータタグが示します。 通常は、テキストフィールドでの確定前の変更などの詳細な値の変更を示すのに、これらのタグを使用します。

戻り値
ChangeWatcher — 少なくとも1つのプロパティ名が chain 引数に指定されている場合は ChangeWatcher インスタンスです。それ以外の場合は null です。 指定されたプロパティまたはプロパティチェーンに対するイベントをホストが公開していない場合があるため、返された Watcher が change イベントの検出と関連付けに成功したかどうかは保証されません。 isWatching() メソッドを使用すると、Watcher の状態を確認できます。

関連項目





 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flex/3_jp/langref/mx/binding/utils/ChangeWatcher.html