Loving Rivets.js因为它的力量而又简单。但是,如何定义采用视图属性并将其格式化为模型属性的格式化程序?根据我的理解,格式化程序意味着以相反的方式运行,即:从模型到视图。
是否以某种方式支持对模型格式化程序的支持,或者这是否必须被黑客攻击?
答案 0 :(得分:6)
这是一个引入Rivets.js 0.4.2 的功能。非常感谢GitHub上的GMFlash和mdekmetzian实现它。
基本上,您只需将双向格式化程序定义为对象而不是单个函数。当格式化程序被定义为单个函数时,Rivets将其视为仅在读取方向上。当格式化程序被定义为对象时,Rivets使用它的read
和publish
函数来有效地序列化和反序列化值。
rivets.formatters.date = {
read: function(value) {
return value.format("DD/MM/YYYY")
},
publish: function(value) {
return moment(value, "DD/MM/YYYY")
}
}
您还可以使用任何其他格式化程序以任何顺序链接双向格式化程序。它们从左到右阅读,并从右向左发布(在将值发布回模型时跳过任何只读格式化程序)。
对缺乏文档表示道歉。主页并未反映Rivets.js的所有当前功能集,需要更新以包含此类附加功能。