-1

可能重复:
Backbone.js - 名称更改时更改未触发
Backbone - 如何解决此问题……某些部分仍不清楚

在我的主干功能中,我在获取数据的setTimout同时继续获取数据,我正在发送属性,{add:true}这意味着,我新获得的模型将与现有集合一起添加,当集合添加模型时,它应该触发该add方法。

但是我没有在我的收藏中进行后添加过程的触发器。但我正在获取视图过程中的数据,这是不正确的。

我的收藏:

list.collect = Backbone.Collection.extend({
  model:list.model,
  url : 'data/names.json',
  initialize:function(){
     this.fetch({success:this.prompter});
     this.on("add", this.addOne, this);//it should get triggered while added the model
  },
  addOne:function(e){
    console.log('addone'); // the method not called
  }
});

我的观点 :

list.view = Backbone.View.extend({
  initialize:function(){
    this.collection = new list.collect();

    var that = this;
    var updateData = function(){
      that.collection.fetch({add:true}); // i am passing add:true!
      myTimeout = setTimeout(updateData,10000)
    }
    var myTimeout = setTimeout(updateData,10000)

    this.collection.on("reset", this.render, this);

  },
  render:function(data){
    _.each(this.collection.models, function(data){
      //console.log(data.get('name'));
    })
  }
});

请对这个问题有任何想法吗?

4

0 回答 0