Tôi có một lớp xác định một số giá trị mặc định và một lớp con xác định một số giá trị mặc định. Nhưng khi tôi tạo một thể hiện của lớp con nó chỉ nhìn vào các giá trị mặc định cục bộ và không hợp nhất các giá trị mặc định của nó với các giá trị mặc định của cha mẹ. Có cách nào đơn giản để làm điều này mà không kết hợp rõ ràng các giá trị mặc định cục bộ với các giá trị mặc định của hàm cha trong hàm initialize
của mỗi lớp con?Trong Backbone.js làm thế nào tôi có thể nhận được mặc định mô hình siêu lớp để hoạt động như mặc định cho lớp con?
var Inventory = Backbone.Model.extend({
defaults: {
cat: 3,
dog: 5
}
});
var ExtendedInventory = Inventory.extend({
defaults: {
rabbit: 25
}
});
var ei = new ExtendedInventory({});
console.log(ei.attributes);
đầu ra này:
{rabbit: 25}
Không phải những gì tôi muốn:
{cat: 3, dog: 5, rabbit: 25}
Tương tự áp dụng cho xem thuộc tính sự kiện. – Julien
Vui lòng xem câu hỏi [this] (http://stackoverflow.com/questions/6549149/extending-the-defaults-of-a-model-superclass-in-backbone-js) để thảo luận về cách câu trả lời này thay đổi Khoảng không quảng cáo. prototype.defaults cũng như ExtendedInventory.prototype.defaults vì chúng là cùng một tham chiếu đối tượng. – c3rin
Bạn đang nắm bắt tốt đẹp. – Julien