1

コレクションの行をデータテーブルに表示しています。モデルを破棄するビューがあり、それが完了したら、データテーブルの対応する行を削除する必要があります。モデルを破棄することはできますが、その特定の行を削除する方法がわかりません。行を処理するビューは次のようになります。

var rowRow = Backbone.View.extend({
  tagName: "tr",
  events: {
    'click .edit':'editrow',
    'click .delete':'deleterow'
  },

  render: function() {
    data = this.model.toJSON();

    this.$el.html('<td>'+data.name+'</td><td>'+data.email+'</td><td>'+data.contact_number+'</td><td><span id="delete'+data.id+'" class="delete">Delete</span> | <span class="edit">Edit</span></td>');
    return this;
  },

  editrow: function(){
    alert("edit");
  },

  deleterow: function() {
    var data = this.model.toJSON();

    this.model.destroy({ wait: true, success: function(){ }});
  }
})

モデルを破棄した直後に、データテーブルの特定の行を削除するにはどうすればよいですか?

4

1 に答える 1

1

this.$el.remove() はDOMから行全体を削除する必要があると思います。

スタックに関する投稿には、このコードも記載されています: ( https://stackoverflow.com/a/11534056/968988 )

destroy_view: function() {

    //COMPLETELY UNBIND THE VIEW
    this.undelegateEvents();

    this.$el.removeData().unbind(); 

    //Remove view from DOM
    this.remove();  
    Backbone.View.prototype.remove.call(this);
}

Backbone の次のバージョンには、このためのヘルパーがあると思います。

于 2013-02-02T12:03:12.903 に答える