如何检测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)
?
我看到的所有示例代码都是为实际用户操作设置事件,如 click
、keyup
或 onchange
。但从不直接收听实际模型值的状态。
我是不是遗漏了什么,或者我是否理解了如何错误地使用 mithril.js?
提前致谢。
秘银的一个关键思想是变化通常发生在事件之后:
- 在
m()
视图模板中定义的类似 onclick
或 keyup
的用户操作
- 使用
m.request
发出的 ajax 请求
Mithril 在这些之后自动重绘,减轻了大多数听众的需要。
如果您通过其他方法更新模型并且需要手动重绘,请使用 m.redraw
或 m.startComputation / m.endComputation
。感谢 Mithril 的 DOM diff 算法,重绘非常便宜,所以不要害怕使用它们(当然要有一些常识!)查看 m.redraw 文档以获取更多信息。
我最近开始学习 mithril.js,我想知道如何制作非常基本的模型 -> 查看单向数据绑定应用程序。
TestModel = function(data){
this.name = m.prop(data.name)
}
testModel = new TestModel({name: "John"})
上面的代码声明了一个模型,它可以像 getter/setter 一样完美地工作。
但是如何为模型事件设置事件监听器,例如 Backbone 的 listenTo('model',"change",callbackFunc)
?
我看到的所有示例代码都是为实际用户操作设置事件,如 click
、keyup
或 onchange
。但从不直接收听实际模型值的状态。
我是不是遗漏了什么,或者我是否理解了如何错误地使用 mithril.js?
提前致谢。
秘银的一个关键思想是变化通常发生在事件之后:
- 在
m()
视图模板中定义的类似onclick
或keyup
的用户操作 - 使用
m.request
发出的 ajax 请求
Mithril 在这些之后自动重绘,减轻了大多数听众的需要。
如果您通过其他方法更新模型并且需要手动重绘,请使用 m.redraw
或 m.startComputation / m.endComputation
。感谢 Mithril 的 DOM diff 算法,重绘非常便宜,所以不要害怕使用它们(当然要有一些常识!)查看 m.redraw 文档以获取更多信息。