BackBone模型ToJSON将字段呈现为零

时间:2012-03-11 13:59:04

标签: javascript json model backbone.js

我的模特中有一些奇怪的行为。当我使用这段代码调试时出现了一些奇怪的东西:

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?

1 个答案:

答案 0 :(得分: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);
};