首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone.paginator - Get toJSON of origModels

Backbone.paginator - Get toJSON of origModels
EN

Stack Overflow用户
提问于 2013-10-17 02:59:13
回答 1查看 149关注 0票数 0

我用的是Backbone.Paginator clientPager。

目前,它复制从this.origModels中的服务器获取的模型。并将this.models修改为截断的分页版本。

当我做collection.toJSON时,我只得到截断的版本。我想要toJSON of origModels吗?我试着调查骨干代码的内部结构。但没能成功。

来自Backbone.js

代码语言:javascript
复制
toJSON: function(options) {
  return this.map(function(model){ return model.toJSON(options); });
}

var methods = ['forEach', 'each', 'map', 'collect', 'reduce', 'foldl',
  'inject', 'reduceRight', 'foldr', 'find', 'detect', 'filter', 'select',
  'reject', 'every', 'all', 'some', 'any', 'include', 'contains', 'invoke',
  'max', 'min', 'toArray', 'size', 'first', 'head', 'take', 'initial', 'rest',
  'tail', 'drop', 'last', 'without', 'indexOf', 'shuffle', 'lastIndexOf',
  'isEmpty', 'chain'];

// Mix in each Underscore method as a proxy to `Collection#models`.
_.each(methods, function(method) { 
  Collection.prototype[method] = function() { 
    var args = slice.call(arguments);
    args.unshift(this.models);
    return _[method].apply(_, args);
  };
});

我试着做了以下工作,但没有成功:

代码语言:javascript
复制
var args = [].slice.call(function(model) { return model.toJSON(); }); 
args.unshift(this.origModels);
var jsonmodels = _['map'].apply(_, args);
EN

回答 1

Stack Overflow用户

发布于 2013-10-17 03:20:18

我使用以下代码修复了这个问题,

代码语言:javascript
复制
var jsonmodels = _.map(this.collection.origModels, function(model){ return model.toJSON(); });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19417493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档