如何在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错误?
Mithril的一个关键思想是,变化通常发生在事件之后:
- 在
m()
视图模板中定义的onclick
或keyup
等用户操作 - 使用
m.request
进行ajax请求
Mithril自动重新绘制,减轻了大多数听众的需要。
如果你通过其他方法更新你的模型,你需要手动重画,使用m.redraw
或m.startComputation / m.endComputation
。感谢Mithril的DOM diff算法,重绘非常便宜,所以不要害怕使用它们(当然,要有一些常识!)查看m.r redraw文档获取更多信息。
相关文章:
- 当显式定义控制器参数时,默认模型绑定器会发生异常
- 主干.js更改模型的 url 参数,提取不会更新获取的数据
- 使用可选参数和默认模型定义路由
- 在浏览器中使用 ThreeJS 或 X3DOM 参数化和编辑模型
- 我的表单没有将参数存储在模型中
- 将属性作为参数从主干模型传递到 Spring 控制器
- 何时适合将集合传递给主干模型构造函数第二个参数
- 如何创建一个以模型为参数的ajax成功方法
- 在Angular指令中参数化数据模型
- 在集合中搜索具有类似属性和搜索参数的模型
- 从javascript向MVC3控制器发布模型和附加参数
- 在Backbone.js中,通过在选项中传递模型来初始化视图和将模型对象作为参数传递有什么区别
- 在beforeCreate上的安全问题,即使我删除了这些参数,sails也会向其他模型添加关系
- 传递关联数组作为参数来创建主干模型
- 如何将mvc模型作为JSON参数传递给JS函数
- 在模型级别重写Backbone.sync()以发送额外的参数
- Emberjs:处理表单提交、参数、模型访问
- 访问.js文件中的模型参数
- 是否有可能将数据从AngularJS传递给webservice中带有模型参数的函数?
- 如何在mithril.js中检测模型参数变化事件