Tôi đang sử dụng backbone.js (0.5.3) bằng JQueryMobile (1.0 beta 2). Tôi biết có những xung đột định tuyến khi sử dụng các thư viện với nhau, và tôi muốn biết nếu có một giải pháp để sử dụng chúng:Backbone.js và định tuyến jQueryMobile mà không cần hack hoặc bộ định tuyến khác
- mà không cần hack vào mã nguồn di động jquery như được mô tả trong chậu Ben Nolan: http://bennolan.com/2010/11/23/backbone-and-jquery-mobile.html
- và không sử dụng bộ định tuyến khác như jquerymobile-router (trừ khi không có lựa chọn nào khác ...)
vấn đề của tôi là khá giống với một trong những mô tả trong bài này: jquery-mobile backbone.js routing
Khi tôi đưa ra yêu cầu, mã xương sống render
của chế độ xem xương sống tương ứng được kích hoạt trước khi trang jquery mới được tải đầy đủ. Tôi đang cố gắng để render html của tôi tạo ra mã trong các yếu tố $(".ui-page-active")
DOM để nhắm mục tiêu các trang đó được tạo ra bởi jQueryMobile (hoặc trang đó được "kích hoạt"):
MyView = Backbone.View.extend({
el: $(".ui-page-active")
render: function(){
console.log(el)
}
});
Nhưng thuộc tính el
trống khi phương thức kết xuất được gọi, vì jquery mobile chưa hiển thị số ...
Cảm ơn bạn đã trợ giúp!
Cập nhật
Addy Osmani dường như có câu trả lời cho câu hỏi của tôi :) nhưng nó sẽ được cho phần tiếp theo của mình (lớn) hướng dẫn: http://msdn.microsoft.com/en-us/scriptjunkie/hh377172.aspx
mà bạn bắt đầu ứng dụng của mình vào sự kiện nào? $ ('document'). ready() hoặc $ (document) .bind ('pageinit')? Tôi đã cố gắng để làm theo đề xuất của bạn nhưng chạy vào các lỗi router đường trục. – fbuchinger
Lưu ý: $ (tài liệu) .bind ("mobileinit" ... gọi phải được thực hiện sau khi jquery được tải & TRƯỚC di động jquery được nạp – pws5068