Trong hầu hết các ví dụ BackboneJS mà tôi đã thấy, chế độ xem cha mẹ gọi hàm render()
trên chế độ xem con. Điều này có vẻ hơi lạ với tôi. Có lẽ nó hoàn toàn cho tối ưu hóa hoặc một cái gì đó, nhưng tôi không thấy lý do tại sao tối ưu hóa không thể diễn ra trong chính con xem. Không nên xem con có trách nhiệm gọi số render()
của riêng nó? Nó có vẻ như trong tất cả các quan điểm của tôi, tôi kết thúc với một cái gì đó như:Cách thích hợp để gọi hàm render() trong BackboneJS
initialize: function() {
this.render();
}
Ngoài ra, nếu nhìn mẹ tôi cập nhật tài sản model
nhìn con, làm thế nào là con phải biết rằng mô hình thay đổi (và do đó render()
nhu cầu được gọi là)? Tôi cho rằng trong trường hợp này, phụ huynh buộc phải gọi số render()
của đứa trẻ. Mặc dù có phần suy ra, tại sao phụ huynh cần phải biết rằng đứa trẻ cần tái xuất hiện khi mô hình của nó bị thay đổi? Có vẻ như gọi hàm render của chế độ xem con nằm ngoài miền của chế độ xem của phụ huynh.
Cảm ơn bạn đã trả lời! Về dấu đầu dòng 1: Nếu con luôn tự hiển thị lại ngay sau init, các sự kiện mô hình, sự kiện DOM, v.v. thì luôn luôn sẵn sàng cho chế độ xem cha mẹ làm bất cứ điều gì nó muốn với nó, phải không? Đạn 2: Cá nhân tôi muốn mỗi đứa trẻ xem mô hình vì cha mẹ không nên biết rằng trẻ em quan tâm đến mô hình. Dấu đầu dòng 3: Xem phản hồi cho dấu đầu dòng 1. Tạo chế độ xem mới chỉ vì mô hình đang thay đổi có vẻ không hiệu quả. – Aaronius
Vâng, như tôi đã nói, đó là chủ quan - Backbone không thực sự xác định một cách "đúng" để làm việc. Nhưng cá nhân, tôi thích cho rằng cha mẹ nhận thức và chịu trách nhiệm cho con cái ngay lập tức của họ. – nrabinowitz
Ngoài ra, Bullet 3 - nó thực sự phụ thuộc vào ứng dụng.Ví dụ: bạn có thể lưu vào bộ nhớ cache chế độ xem trước đó để xem sau. – nrabinowitz