我喜欢Rivets.js,因为它既强大又简单。但是,如何定义接受view-property并将其格式化为model-property的格式化程序呢?据我所知,Formatters是以另一种方式操作的,即:从模型到视图。
是否以某种方式支持视图到模型的格式化程序,或者这必须被破解吗?
发布于 2013-03-06 16:04:06
这是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的当前功能集,需要更新以包括像这样的添加功能。
https://stackoverflow.com/questions/15052039
复制相似问题