我最近接手了一个大型 Backbone.js 项目,该项目使用 Backbone.Modelbinding 插件来提供模型和视图之间的数据绑定,并直接引用 html 元素中的“data-bind”属性中的模型属性名称。
对于非表单项,数据绑定是单向的,从模型到视图,但对于表单项,用户可以更改表单输入,以便更新已绑定到该元素的模型属性,并且反之亦然——模型还可以更新表单输入的内容。
我需要某种视图助手,它将以与模型中绑定的数据不同的格式显示信息,而不会影响模型本身。
例如,如果模型中的一个属性的值是数字 679,我可能需要视图将其显示为 $679.00,而模型的版本仅保留数字 679。
在其他类似的库中,有一些简单的方法可以在任一方向上执行这些转换(Backbone.Modelbinder 中的“转换器参数”,Knockout.js 中的“计算的 observables”,我认为它们在 Silverlight 中称为转换器等)。不过,似乎没有办法使用 Backbone.Modelbinding 来做到这一点。有谁知道一种方法?