2013-05-21 46 views
0
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」?Backbone.js的修改模型的具體領域獲取集合

我可以在集合中做一個foreach循環來處理日期,但是我想知道是否有更好的喜歡在模型內部進行分析?

謝謝!

回答

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. 
    }; 
}) 
0

據我所知,你有兩個選擇這裏

  • 實現模型中的自定義parse方法
  • 實現模型內initialize方法

他們都沒有任何問題,我在幾個項目中做了兩種方式,並且他們很好地工作

+0

執行初始化方法是否有助於獲取,這將重置模型的狀態,但不會重新初始化? – damienc88

+0

我認爲他還意味着在添加使用'initialize'的新模型時 –