2012-02-18 14 views
8

Nói rằng tôi làm như sau:Làm cách nào để tắt lịch sử đường trục nhưng vẫn cho phép định tuyến dựa trên băm?

  • Nhấp vào một liên kết trên trang chủ (/) và đi đến/bài viết/1
  • kích hoạt một sự kiện và đi đến con đường xương sống/bài viết/1/#/1/chỉnh sửa
  • tôi bấm lại

tôi cần phải làm cho nó để người dùng kết thúc lên trở lại trên trang chủ (/) không lại/bài viết/1

vì vậy, tôi cần phải cho phép cho xương sống các tuyến đường băm hoạt động nhưng không sửa đổi lịch sử. Cá nhân tôi muốn giữ lịch sử, nhưng đó là yêu cầu của một dự án.

Trả lời

13

Phiên bản mới nhất của Backbone (0.9.x) có khả năng kích hoạt tuyến đường nhưng không thêm nó vào lịch sử.

Xem Backbone.Router#navigate để thay thế: tùy chọn đúng.

Về cơ bản, chỉ cần gọi .navigate trên router của bạn với kích hoạt: true (để bắn các tuyến đường) và thay thế: true (để ngăn chặn nó xảy ra đối với lịch sử)

app.navigate('posts/1/edit',{trigger:true, replace: true}); 

Dưới đây là một jsfiddle hiển thị nó trong hành động: http://jsfiddle.net/7Z6ju/1/

  • Nhấp vào "Đăng 1" để truy cập trang Đăng bài 1.
  • Sau đó, nhấp vào "Chỉnh sửa" để truy cập trang chỉnh sửa.
  • Sau đó, nhấn nút quay lại - bạn sẽ kết thúc trở lại trên nhà riêng.
+0

Cảm ơn, tôi đã bỏ lỡ điều đó trong tài liệu \ * facepalm \ * –

+0

Tài liệu ở đó phải đọc sai: D –