2

喜欢 Rivets.js 的强大功能和简单性。但是,如何定义采用视图属性并将其格式化为模型属性的格式化程序?据我了解,格式化程序旨在以相反的方式操作,即:从模型到视图。

是否以某种方式支持 View to Model 格式化程序,或者这是否必须被破解?

4

1 回答 1

6

这是 Rivets.js 0.4.2中引入的功能。非常感谢 GitHub 上的 GMFlash 和 mdekmezian 实现它。

基本上,您只需将双向格式化程序定义为一个对象而不是单个函数。当格式化程序被定义为单个函数时,Rivets 假定它仅在读取方向上。当格式化程序被定义为一个对象时,Rivets 使用它readpublish函数来有效地序列化和反序列化一个值。

rivets.formatters.date = {
  read: function(value) {
    return value.format("DD/MM/YYYY")
  },
  publish: function(value) {
    return moment(value, "DD/MM/YYYY")
  }
}

您还可以以任何顺序将双向格式化程序与任何其他格式化程序链接。它们从左到右读取,从右到左发布(在将值发布回模型时跳过任何只读格式化程序)。

对缺少文档表示歉意。主页根本没有反映 Rivets.js 的当前功能集,需要更新以包含诸如此类的附加功能。

于 2013-03-06T08:04:06.250 回答