Rivets.js中的视图到模型格式化程序

时间:2013-02-24 13:09:35

标签: data-binding rivets.js

Loving Rivets.js因为它的力量而又简单。但是,如何定义采用视图属性并将其格式化为模型属性的格式化程序?根据我的理解,格式化程序意味着以相反的方式运行,即:从模型到视图。

是否以某种方式支持对模型格式化程序的支持,或者这是否必须被黑客攻击?

1 个答案:

答案 0 :(得分:6)

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

基本上,您只需将双向格式化程序定义为对象而不是单个函数。当格式化程序被定义为单个函数时,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的所有当前功能集,需要更新以包含此类附加功能。