Tôi đang sử dụng Handlebars.js làm công cụ tạo khuôn mẫu cho ứng dụng Backbone.js của mình. Tôi làm cho chức năng trong quan điểm của tôi thường trông giống như sau:Dừng xương sống từ việc thêm div xung quanh vào chế độ xem?
var source = $("#round").html();
var template = Handlebars.compile(source);
var context = JSON.parse(JSON.stringify(this.model));
var html = template(context);
$(this.el).html(html);
return this;
Ở trên là nối vào xem ứng dụng chính thông qua các đoạn mã sau (đây là mã gọi mã ở trên):
$('div#round-container', this.el).append(roundView.render().el);
Mẫu Handlebars của tôi xử lý tất cả kiểu dáng và bố cục, vì vậy tôi để trống phần tử "el" của chế độ xem. Backbone.js tự động thêm các thẻ div xung quanh mẫu Handlebars. Tôi cho rằng điều này là do phần tử "el" trống. Có cách nào để ngăn chặn việc bổ sung các thẻ div xung quanh? Cảm ơn!
setElement là một lựa chọn tốt quá –
Sau khi goi ng với tùy chọn 2., gửi sự kiện không được kích hoạt – svlada
@svlada, 'setElement' cũng gọi' this.undelegateEvents(); 'và' this.delegateEvents(); 'để đảm bảo các sự kiện trong hàm băm sự kiện được áp dụng cho thành phần. Bạn có thể gọi chúng là yourselft nếu setElement nằm ngoài câu hỏi. [source] (http://backbonejs.org/docs/backbone.html#section-162) –