backbone.js在获取集合后修改模型的特定字段

时间:2013-05-21 23:04:16

标签: backbone.js

var items=[{"endsAt": "2013-05-26T07:00:00Z","id": 1,"name": "Niuniu1"},
{"endsAt": "2013-05-26T07:00:00Z","id": 2,"name": "Niuniu2"}]

ItemModel=Backbone.Model.extend({});
ItemCollection=Backbone.Collection.extend({
    model:ItemModel,
    url: '...',

    parse: function(response) { 
      return response.items;
    }

})

如果我有像项目这样的一系列数据,当我为每个模型构建模型时,它的结尾将是“2013-05-26T07:00:00Z”。我在哪里可以修改模型或数据流程,所以它实际上是“2013-05-26”?

我可以在集合内部执行foreach循环来处理日期,但是我想知道是否有更好的实践可以在模型中进行解析?

谢谢!

2 个答案:

答案 0 :(得分:1)

我使用的练习就是你所说过的那个 - 在模型上实现自定义解析。正如文档所述,它将在同步后为您调用。见这里:http://backbonejs.org/#Model-parse

ItemModel = Backbone.Model.extend({
    parse: function(response,options) {
       //perform your work on 'response', 
       //    return the attributes this model should have.
    };
})

答案 1 :(得分:0)

据我所知,你有两个选择

  • 在模型中实施自定义parse方法
  • 在模型中实施initialize方法

他们两个都没有任何问题,我在几个项目中做了两种方式,而且效果很好