2012-03-11 55 views
0

我的模型中有一些奇怪的行爲。當我用這段代碼進行調試時,出現了一些奇怪的現象:BackBone模型ToJSON渲染一個字段爲零

console.log(this.model); 
console.log(this.model.toJSON()); 

這兩行提供了兩個不同的結果。的this.model

attributes: Object 
    distance: "6500" 
    duration: "25:17.1" 
    id: "33" 
    intervalid: "1" 
    pace: "1:56.7" 
    rowdate: "2012-03-08 20:47:36" 
    trainingid: "18" 

然後日誌的的toJSON()

Object 
    distance: "6500" 
    duration: "0" 
    id: "33" 
    intervalid: "1" 
    pace: "1:56.7" 
    rowdate: "2012-03-08 20:47:36" 
    trainingid: "18" 

是否有人有線索,爲什麼我時間場減爲0的記錄?並阻止toJSON()持續時間到0?

+0

是您的骨幹和下劃線庫是最新的? – biziclop 2012-03-11 15:53:48

回答

1

對我的作品,甚至當我設置duration: String("25:17.1")

http://jsfiddle.net/m4eeU/

Model.toJSON來源:

toJSON: function() { 
    return _.clone(this.attributes); 
}, 

下劃線來源:

// Create a (shallow-cloned) duplicate of an object. 
_.clone = function(obj) { 
    if (!_.isObject(obj)) return obj; 
    return _.isArray(obj) ? obj.slice() : _.extend({}, obj); 
}; 
+0

我發現了這個錯誤。某處另一段代碼重寫了模型:doh: – 2012-03-11 21:13:38