1
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;
    }

})

如果我有一系列数据,比如项目,当我建立模型时,对于每个模型,它的 endAt 将是“2013-05-26T07:00:00Z”。我在哪里可以修改模型或数据过程,使其实际上是“2013-05-26”?

我可以在集合内做一个 foreach 循环来处理日期,但我想知道是否有更好的做法,比如在模型内进行解析?

谢谢!

4

2 回答 2

2

我使用的做法是您所说的您已经考虑过的做法-在模型上实现自定义解析。正如文档所述,它将在同步后为您调用。见这里: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.
    };
})
于 2013-05-21T23:33:51.163 回答
0

据我所知,您有两个选择

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

他们两个都没有任何问题,我在几个项目中做了2种方法,它们都很好用

于 2013-05-22T00:06:08.257 回答