Skip to content

79 字段订阅 ​

onChange 在字段赋值后收到旧值和新值。close() 停止后续通知,但赋值本身仍会更新字段。

norm
import std.observation.onChange

class Task { String title = "Draft" }

main() {
  Task task = Task()
  var subscription = task.title.onChange {
    printLine(oldValue + " -> " + newValue)
  }
  task.title = "Done"
  subscription.close()
  task.title = "Archived"
  printLine(task.title)
}

预期输出:

text
Draft -> Done
Archived

动手试试:关闭前连续两次赋值 Done,观察相等值过滤。

精确规则:参考。

Norm 0.25