从服务器获取集合,而不是在从服务器删除模型时触发更改

时间:2013-02-06 18:18:12

标签: backbone.js collections

我从服务器获取一个集合,假设我最初从30个模型开始,在数据库中,其中一个模型更改了一些属性,当我获取集合时,检测到更改并呈现更改。罚款很好。 但是当模型在数据库中被删除并且具有30且现在具有29的集合不会在缺失的模型上进行消灭时。该模型不再存在,但视图仍然呈现,并且它不对应于任何模型,因为该模型不再是该集合的一部分。需要帮助。并且视图被绑定为“改变”并且“破坏”。 我已经尝试了各种各样的东西,代码中有很多变化,似乎没什么用。

由于

var commentCollection = new CommentList;

commentCollection.fetch({ data: $.param({ user_id:id}), success: function(){
                  Profile_view = new Profile({collection: commentCollection});
                 $("div.Profile_container").html(this.Profile_view.el);        
     } });


            function fetch_collection(commentCollection, id){
              //commentCollection.reset();
           commentCollection.fetch({update: true, data: $.param({ user_id:id})});
            console.log(commentCollection)
            }
         setInterval(function(){fetch_collection(commentCollection, id)},10000);

commentCollection.fetch({ data: $.param({ user_id:id}), success: function(){ Profile_view = new Profile({collection: commentCollection}); $("div.Profile_container").html(this.Profile_view.el); } }); function fetch_collection(commentCollection, id){ //commentCollection.reset(); commentCollection.fetch({update: true, data: $.param({ user_id:id})}); console.log(commentCollection) } setInterval(function(){fetch_collection(commentCollection, id)},10000);

1 个答案:

答案 0 :(得分:0)

我明白了!!!!!
我所要做的就是将remove事件绑定到view函数,该函数从DOM中删除实际视图

this.model.bind("remove", this.close, this)