模块 lib.container.observable
observable - 一个可观察的值
函数
| new (initial) | 创建一个可观察值(对象)。 |
| set (value, quiet) | 设置值 |
| __call () | 返回当前值('value'方法的简写) |
| value () | 返回当前值 |
| register (observer, handler) | 注册值变化的观察者
观察者通过一个键来标识,该键可以是任何类型(数字、字符串、 表等)。 |
| unregister (observer) | 注销值变化的观察者 |
| notify_observers () | 通知已注册的观察者当前值(通常由 set 调用)。 |
函数
- new (initial)
-
创建一个可观察值(对象)。
可观察值在每次设置值时都会通知已注册的观察者。
参数:
- initial 任意类型 初始值,默认为 nil
返回:
-
Observable
实例。
- set (value, quiet)
-
设置值
参数:
- value 任意类型 可观察值的新值。
- quiet 布尔值 如果为 true,则不通知观察者。
- __call ()
-
返回当前值('value'方法的简写)
返回:
-
任意类型
- value ()
-
返回当前值
返回:
-
任意类型
- register (observer, handler)
-
注册值变化的观察者
观察者通过一个键来标识,该键可以是任何类型(数字、字符串、 表等)。注册观察者会替换与该键关联的任何先前注册。
处理程序是一个函数,它接收一个参数,即新值。如果 未提供
handler,则假定observer是一个具有notify方法的对象,并使用新值调用notify方法。参数:
- observer 任意类型 观察者的标识。
- handler 函数 新值回调,可选。
- unregister (observer)
-
注销值变化的观察者
参数:
- observer 任意类型 观察者的标识。
返回:
-
布尔值
如果观察者已知且已注销,则返回 true。
- notify_observers ()
- 通知已注册的观察者当前值(通常由 set 调用)。