如何在呈现之前在Marionette Backbone View中格式化模型的值?

时间:2015-06-04 09:26:09

标签: view formatting typescript rendering marionette

如果您实施onBeforeRender方法,则无法访问模型值以暂时格式化它们

理想情况下,您希望在渲染之前格式化值,而不改变模型值!

怎么做?

2 个答案:

答案 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