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,观察相等值过滤。
精确规则:参考。