2012-05-07 2 views
13

Cách tốt nhất để xóa mô hình phía máy khách là gì? Tôi không cần phải lo lắng về việc loại bỏ nó phía máy chủ. Làm thế nào để chắc chắn rằng nó được loại bỏ ở khắp mọi nơi, tránh mọi gotcha, mọi ràng buộc zombie. Tôi đang tìm kiếm một hướng dẫn để loại bỏ và phá hủy tất cả mọi thứ và đảm bảo mô hình là rác thu thập được.Làm thế nào để xóa một mô hình xương sống phía máy khách?

Cảm ơn !!

+0

có thể trùng lặp http://stackoverflow.com/questions/10400630/remove-a-backbone-model-by-id –

+0

Đi từ đâu? Một bộ sưu tập? Tài liệu? Bộ nhớ của trình duyệt? – JMM

+0

@JMM yep biến mất từ ​​mọi nơi, tránh mọi lỗi, mọi ràng buộc zombie. Tôi đang tìm kiếm một hướng dẫn đầy đủ để loại bỏ và phá hủy mọi thứ và đảm bảo mô hình là rác được thu thập. – fancy

Trả lời

11

Nó thực sự phụ thuộc vào những gì bên trong mô hình này. Nếu nó được liên kết với các sự kiện từ các trường hợp khác - Xem/Bộ sưu tập/Mô hình, bạn nên xóa các trình lắng nghe sự kiện đó theo cách thủ công, vì không có cách nào để loại bỏ tất cả chúng cùng một lúc.

Ngoài ra, Model.destroy() loại bỏ các mô hình từ bất kỳ bộ sưu tập (tài liệu xương sống):

Phá hủy model.destroy ([tùy chọn])

... Kích hoạt một "tiêu diệt" sự kiện trên mô hình, sẽ bong bóng qua bất kỳ bộ sưu tập nào có chứa nó ...

Điều bạn có thể muốn làm là chỉ định phương thức hủy mới bao gồm kích hoạt sự kiện và nội dung bạn muốn xóa.

destroy: function(options) { 
    // Any events you wish to switch off (if you have any) 
    SomeCollection.off('change', this.changeFn); 

    Backbone.Model.prototype.destroy.apply(this, options);  
} 

Có thể bạn cũng nên lưu ý một số mô hình làm ít rác từ Models:

  1. Không đặt mô hình khởi tạo của bạn trong một biến (giữ nó trong bộ sưu tập);
  2. Đảm bảo bạn viết mã theo cách không có sự kiện nào được liên kết từ Mô hình (Sử dụng chế độ xem/bộ sưu tập cho điều đó);
  3. Giữ mã mô hình của bạn đơn giản vì các mô hình trong ứng dụng của bạn sẽ được đánh số cao nhất.

Tôi nghĩ rằng bằng cách làm theo các quy tắc đó, bạn sẽ không cần phải lo lắng quá nhiều về rác từ Mô hình của mình.