模块 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 调用)。
由 LDoc 1.5.0 生成 最后更新于 2025-04-06 15:35:25