如何在mithril.js中检测模型参数更改事件?

时间:2015-06-08 08:09:26

标签: javascript backbone.js mithril.js

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

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

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

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

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

提前感谢。

1 个答案:

答案 0 :(得分:3)

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

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

秘银会在那之后自动重绘,减轻了大多数听众的需求。

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