2012-05-15 31 views
37

Có cách nào để xóa thuộc tính khỏi mô hình Backbone không?Xóa thuộc tính khỏi mô hình Backbone.js

Lý do được là tôi bỏ qua dữ liệu thêm vào tiết kiệm để thực hiện hành động nào đó, nhưng sau đó dữ liệu được tự động thêm vào mô hình của tôi

Các tài liệu nói đến không chỉnh sửa model.attributes trực tiếp, vì vậy chỉ những phương pháp khác tôi thấy làm điều này sẽ được sử dụng phương pháp set và thiết lập các thuộc tính để null, nhưng đó không phải là lý tưởng

var myModel = new Model() 
myModel.save({name:'Holla', specialAttr:'Please Remove me'}) 
myModel.set({tempAttr:null}) 

if(myModel.attributes['specialAttr'] == null){ 
    alert("Model does not have a specialAttr") 
} 

tôi cũng đã cố gắng loại bỏ nó từ tài sản thuộc tính, nhưng nó không thực sự loại bỏ nó.

Trả lời

84

Bạn đang tìm kiếm model.unset?

Xóa thuộc tính bằng cách xóa thuộc tính khỏi băm thuộc tính nội bộ. Kích hoạt sự kiện "thay đổi" trừ khi im lặng được chuyển thành tùy chọn.

Bạn có thể tìm tài liệu here.

+5

Tôi cảm thấy như một thằng ngốc – MattoTodd

+5

để công bằng với bản thân mình, tôi nghĩ rằng các tài liệu xương sống nên có các phương pháp được liệt kê theo thứ tự chữ cái – MattoTodd

+0

xảy ra tốt nhất, vui lòng đề xuất thứ tự phương pháp trên github repo https: // github .com/documentcloud/backbone –

Các vấn đề liên quan