如何检测mithril.js中的模型参数变化事件?

How to detect model parameter change event in mithril.js?

我最近开始学习 mithril.js,我想知道如何制作非常基本的模型 -> 查看单向数据绑定应用程序。

TestModel = function(data){
  this.name = m.prop(data.name)
}
testModel = new TestModel({name: "John"})

上面的代码声明了一个模型,它可以像 getter/setter 一样完美地工作。 但是如何为模型事件设置事件监听器,例如 Backbone 的 listenTo('model',"change",callbackFunc)?

我看到的所有示例代码都是为实际用户操作设置事件,如 clickkeyuponchange。但从不直接收听实际模型值的状态。

我是不是遗漏了什么,或者我是否理解了如何错误地使用 mithril.js?

提前致谢。

秘银的一个关键思想是变化通常发生在事件之后:

  • m() 视图模板中定义的类似 onclickkeyup 的用户操作
  • 使用 m.request
  • 发出的 ajax 请求

Mithril 在这些之后自动重绘,减轻了大多数听众的需要。

如果您通过其他方法更新模型并且需要手动重绘,请使用 m.redrawm.startComputation / m.endComputation。感谢 Mithril 的 DOM diff 算法,重绘非常便宜,所以不要害怕使用它们(当然要有一些常识!)查看 m.redraw 文档以获取更多信息。