Hàm View.remove() trong các đường trục js loại bỏ phần tử vùng chứa của khung nhìn khỏi ngăn DOM khỏi việc tái tạo các khung nhìn đã bị xóa. Bất cứ ý tưởng như thế nào kịch bản này được xử lýTạo lại một khung nhìn đã bị loại bỏ trong các đường trục js
Đây là mã của tôi,
var AttributeView = Backbone.View.extend({
el: $("#attrs"),
template:_.template($('#attrs-template').html()),
initialize:function() {
},
render:function (eventName) {
$(this.el).html(this.template(this.model.toJSON()));
return this;
},
dispose:function(eventName){
this.unbind();
this.remove();
},
});
var attrView = new AttributeView();
....
attrView.dispose();
//Later on some event I do the below
attrView = new AttributeView()
attrView.render();
Hai dòng cuối cùng trên không tái tạo xem như div với id = "attrs" không phải là còn ở đó.
Cảm ơn bạn đã trả lời. Nhưng đối với một số mã lý do tương tự như ví dụ của bạn không làm việc. Tôi đã tạo http://jsfiddle.net/EnVmN/7/ để minh họa sự cố tôi gặp phải. Bất kỳ ý tưởng những gì tôi đang làm sai. Tôi đang sử dụng lại AttributeView của bạn nhưng thêm ItemView và cố gắng hiển thị và loại bỏ các attributeview trên nhấp vào chỉnh sửa và loại bỏ các biểu tượng tương ứng. – mzafer
@mzafer: Sự kiện của chế độ xem chỉ hoạt động trên 'el' và các con của chế độ xem, ItemView của bạn được hiển thị thành' # items' nhưng đó không phải là 'số' của ItemView vì vậy các sự kiện nhấp trên biểu tượng của bạn không được gửi tới ItemView: http://jsfiddle.net/ambiguous/KjC6x/ –
Cảm ơn nhiều, nó hoạt động ngay bây giờ :) Đã dành gần hai ngày về điều này. – mzafer