雖然使用主幹來打api,但我發現我只需要在響應中包含一些數據。除了關於我不需要的對象的數據之外,網絡服務器還提供了元數據。如何在backbone.js中進行自定義模型數據解析?
以下解決方案有效,但感覺不對。有沒有這樣做的標準方式?
var accountsCollection = new AccountsCollection();
accountsCollection.fetch({success : function(collection){
var results = new AccountsCollection();
collection.each(function(item){
results.add(new AccountModel({
id: item.toJSON().result[0].id,
messageText: item.toJSON().messageText,
address1: item.toJSON().result[0].address1,
address2: item.toJSON().result[0].address2
}));
});
onDataHandler(results);
}});
編輯:這是我基於公認的答案最終解決方案:
parse: function(response) {
var accounts = [];
_.each(response['result'], function (account) {
accounts.push(account);
});
return accounts;
}
爲什麼不乾脆忽略不需要的數據?更清潔,並且不像您使用上述方式節省任何處理。 – MBHNYC
@MBHNYC它不是更清潔,因爲當我打電話保存它會試圖堅持這些東西,而且我必須在我的模板中的每個字段之前寫入.result [0],並嘗試使用我的模型。它混淆了整個應用程序。 – samspot