Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 销毁模型时如何删除嵌套集合?_Javascript_Backbone.js_Collections_Model - Fatal编程技术网

Javascript 销毁模型时如何删除嵌套集合?

Javascript 销毁模型时如何删除嵌套集合?,javascript,backbone.js,collections,model,Javascript,Backbone.js,Collections,Model,我正在初始化嵌套集合,如下所示: var post = { id: 123, title: 'Sterling Archer', comments: [ {text: 'Comment text', tags: ['tag1', 'tag2', 'tag3']}, {text: 'Comment test', tags: ['tag2', 'tag5']} ] }; var PostModel = Backbone.Model.extend({

我正在初始化嵌套集合,如下所示:

var post = {
  id: 123,
  title: 'Sterling Archer',    
  comments: [
    {text: 'Comment text', tags: ['tag1', 'tag2', 'tag3']},
    {text: 'Comment test', tags: ['tag2', 'tag5']}
  ]  
};

var PostModel = Backbone.Model.extend({
   parse: function (response) {
       if (response.comments) {
          response.comments = new Backbone.Collection(response.comments);
       }
       return response;
   }
});

var post = new PostModel(post, {parse: true});
删除模型时,我应该如何删除嵌套的“注释”集合

post.destroy();

这可以用来删除评论

sync : function(method,model,options){
   if(method=='delete'){
       this.comments.destroy();
   }
   Backbone.sync(method,model,options);
}
您可以覆盖PostModel的destroy方法,而不是sync方法,对于没有id属性的新模型,将不会调用sync方法:


谢谢你的回复,但是这个.comments.destroy;可以是异步的。此.get'comments'是否具有上述评论员建议的.destroy方法?Backbone.Collection没有默认的destroy方法
destroy: function(options) {
    this.get('comments').each(function(mdl) {
         mdl.destroy();
    });

   Backbone.Model.prototype.destroy.call(this, options)
}