0

所以我有一个模型,它具有另一个模型的集合作为其属性之一。使用model.toJSON()时,集合保持为集合,不会转换为数组。

它像这样回来

{
  prop1: "value",
  prop2: "value",
  collection: backbonecollectionobject
  otherprop: "value"
} 

有任何想法吗?

4

1 回答 1

0

您可以通过执行以下操作来覆盖 toJSON 函数:

Backbone.Model.prototype.toJSON = function() {
  var json = _.clone(this.attributes);
  for(var attr in json) {
    if(json[attr] instanceof Backbone.Collection) {
      json[attr] = json[attr].toJSON();   
    }
  }
  return json;
};

它查找具有集合值的任何属性,并将这些属性转换为 JSON()。

于 2013-11-06T15:19:40.977 回答