包 | mx.binding.utils |
类 | public class ChangeWatcher |
继承 | ChangeWatcher Object |
另请参见
方法 | 定义方 | ||
---|---|---|---|
ChangeWatcher(access:Object, handler:Function, commitOnly:Boolean = false, next:ChangeWatcher = null) 构造函数。 | ChangeWatcher | ||
[静态] 允许您确定宿主是否在此属性上公开数据绑定事件。 | ChangeWatcher | ||
[静态] 返回宿主对象中的所有可绑定属性的所有绑定事件。 | ChangeWatcher | ||
检索观察的属性或属性链的当前值,当宿主对象为空时此值为空。 | ChangeWatcher | ||
指示对象是否已经定义了指定的属性。 | Object | ||
指示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | ||
如果链中的每个观察器都连接了至少一个 change 事件,则返回 true。 | ChangeWatcher | ||
指示指定的属性是否存在、是否可枚举。 | Object | ||
重置此 ChangeWatcher 实例可使用新的宿主对象。 | ChangeWatcher | ||
设置处理函数。 | ChangeWatcher | ||
设置循环操作动态属性的可用性。 | Object | ||
返回指定对象的字符串表示形式。 | Object | ||
从当前宿主中断开此 ChangeWatcher 实例及其处理函数。 | ChangeWatcher | ||
返回指定对象的原始值。 | Object | ||
[静态] 创建并启动 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() 方法。
|
Boolean —
如果 host 在 name 上公开了任何 change 事件,则为 true 。
|
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 —
{ eventName: isCommitting, ... } 形式的对象,包含该属性的所有 change 事件。
|
getValue | () | 方法 |
public function getValue():Object
检索观察的属性或属性链的当前值,当宿主对象为空时此值为空。例如:
watch(obj, ["a","b","c"], ...).getValue() === obj.a.b.c返回
Object — 观察的属性或属性链的当前值。 |
isWatching | () | 方法 |
public function isWatching():Boolean
如果链中的每个观察器都连接了至少一个 change 事件,则返回 true
。请注意,isWatching()
方法随宿主而异,因为不同的宿主可能会根据观察器选择的属性公开不同的 change 事件。
Boolean —
如果链中的每个观察器都连接了至少一个 change 事件,则返回 true 。
|
reset | () | 方法 |
public function reset(newHost:Object):void
重置此 ChangeWatcher 实例可使用新的宿主对象。您可以调用此方法在其它宿主上重复使用观察器实例。
参数
newHost:Object —
新的宿主属性。有关详细信息,请参阅 watch() 方法。
|
setHandler | () | 方法 |
unwatch | () | 方法 |
public function unwatch():void
从当前宿主中断开此 ChangeWatcher 实例及其处理函数。您可以使用 reset()
方法重新连接 ChangeWatcher 实例,或在不同宿主对象上观察同一个属性或属性链。
watch | () | 方法 |
public static function watch(host:Object, chain:Object, handler:Function, commitOnly:Boolean = false):ChangeWatcher
创建并启动 ChangeWatcher 实例。一个 ChangeWatcher 实例可观察一个属性或一个属性链。属性链是可从宿主对象访问的一系列属性。例如,表达式 obj.a.b.c
中包含属性链 (a, b, c)。
参数
host:Object —
用于承载要监视的属性或属性链的对象。创建 ChangeWatcher 实例后,您可以使用 reset() 方法更改 host 参数的值。
| |
chain:Object —
用于指定要监视的属性或属性链的值。合法值包括:
请注意:在 | |
handler:Function —
在修改观察属性(或观察链中任何属性)的值时调用的事件处理函数。如果观察器链中的任何宿主对象调度了在该宿主对象的 [Bindable] 元数据标记中为相应的观察属性指定的事件,则表明已经修改。默认事件名为 propertyChange 。
由可绑定属性调度的事件对象将传递到此处理函数,不会进行任何修改。默认情况下,Flex 将调度 PropertyChangeEvent 类型的事件对象。然而,在使用 | |
commitOnly:Boolean (default = false ) —
如果仅在提交 change 事件时需要调用处理函数,则设置为 true ;如果无论是否提交 change 事件都调用处理函数,则设置为 false 。请注意:属性是否存在不提交的 change 事件由 [NonCommittingChangeEvent(<event-name>)] 元数据标记来指示。通常,这些标记用于指示细化值更改,例如确认前在文本字段中进行的修改。
|
ChangeWatcher —
如果已为 chain 参数至少指定了一个属性名称,则返回 ChangeWatcher 实例;否则返回 null。请注意,不能保证返回的监视程序已成功发现 change 事件并将自身附加到 change 事件,因为宿主可能没有在给定的属性或属性链上公开任何事件。您可以使用 isWatching() 方法来确定观察器的状态。
|
另请参见