javascript - 在集合中添加集合

标签 javascript backbone.js

我创建了一个容器集合,它是另一个集合的旁路。在这一次(contenitor)中,我获取另一个集合,并且我想将获取结果添加到第一个contenitor集合中。我知道存在选项 add:true 但似乎不起作用。

var Contenitor = Backbone.Collection.extend({
  twitterQuery:undefined,
  page: undefined,
  initialize: function () {
    this.TweetsCollection = new Tweets();   
  },  
  fetch: function() {
    this.TweetsCollection.query=this.twitterQuery;
    this.TweetsCollection.page=this.page;
    this.TweetsCollection.fetch({
      success:function (tweets){
        this.add(tweets);<---here nothing is added to this collection
      }
   });
 },
});

这是 TWeetsCollection 的获取:

fetch: function(options) {

var collection = this; 
var params = {
user_id: this.query,
//screen_name:"brad"
page:this.page
};


cb.__call(
"statuses_userTimeline",
params,
function (reply) {
// console.log(reply);
  collection.reset(reply);

}
 );

最佳答案

问题是“这个” - scope,它没有指任何东西。 Backbonejs.org告知这确实是一个异构函数,因此您必须在调用它时给出成功的东西。您可以这样做:

var self = this;
---
this.TweetsCollection.fetch({
    success: function (tweets) {
        self.add(tweets);
    }    
});

现在 self 指的是内部功能的来电者。

关于javascript - 在集合中添加集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526995/

相关文章:

javascript - 设置哈希后无法聚焦输入

javascript - 如何忽略复选框的点击?

javascript - 使用 `find( )` 并选择父元素

javascript - backbone.js 上下文中的依赖注入(inject)

javascript - Underscore.js 模板渲染

javascript - 主干和 $el 元素

JavaScript 数组长度返回 0

javascript - 在 Jquery UI 对话框中禁用关闭按钮

javascript - 连接几个 javascript 文件时出现问题

javascript - npm 未安装顶级依赖项的依赖项