如果您实施onBeforeRender
方法,则无法访问模型值以暂时格式化它们
理想情况下,您希望在渲染之前格式化值,而不改变模型值!
怎么做?
答案 0 :(得分:2)
点击此链接:http://derickbailey.github.io/backbone.marionette/docs/backbone.marionette.html
您会发现在呈现模板之前正在使用serializeData
因此,通过覆盖它,如下所示,您可以在渲染之前以任何方式格式化对象值
serializeData():any {
var obj = super.serializeData();
obj.totalEnergy = Math.round(obj.totalEnergy).toFixed(0)
return obj
}
答案 1 :(得分:1)
Marionette Views也为此目的提供了templateHelpers。 templateHelpers可用于向视图提供除模型之外的任何其他数据。可以指定函数来格式化要在视图上呈现的模型的数据。在Marionette视图的文档中查看模板助手的基本示例 - http://marionettejs.com/docs/marionette.view.html#basic-example