喜欢 Rivets.js 的强大功能和简单性。但是,如何定义采用视图属性并将其格式化为模型属性的格式化程序?据我了解,格式化程序旨在以相反的方式操作,即:从模型到视图。
是否以某种方式支持 View to Model 格式化程序,或者这是否必须被破解?
喜欢 Rivets.js 的强大功能和简单性。但是,如何定义采用视图属性并将其格式化为模型属性的格式化程序?据我了解,格式化程序旨在以相反的方式操作,即:从模型到视图。
是否以某种方式支持 View to Model 格式化程序,或者这是否必须被破解?
这是 Rivets.js 0.4.2中引入的功能。非常感谢 GitHub 上的 GMFlash 和 mdekmezian 实现它。
基本上,您只需将双向格式化程序定义为一个对象而不是单个函数。当格式化程序被定义为单个函数时,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 的当前功能集,需要更新以包含诸如此类的附加功能。