BackBone模型ToJSON将字段渲染为零

BackBone model ToJSON renders a field to zero

本文关键字:字段 模型 ToJSON BackBone      更新时间:2023-09-26

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

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?

适用于我,即使我设置了duration: String("25:17.1"):

http://jsfiddle.net/m4eeU/

Model.toJSON来源:

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

Undercore来源:

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