2010-12-20 29 views

Trả lời

9

Theo documentation for Sammy routes,

Path có thể được định nghĩa là chuỗi hoặc biểu thức thông thường.

Như vậy, chúng ta có thể để tạo ra một con đường như thế này, ở phần cuối của tuyến đường của bạn, đó là một nhận tất cả:

get(/.*/, function() { 
    ... 
}); 
+1

điểm nhỏ - lưu ý việc thiếu dấu ngoặc kép, đây là biểu thức chính quy theo nghĩa đen. '/.*/' khá khác so với /.*/ –

+0

Một vấn đề với cách tiếp cận này là tuyến đường của bạn sẽ bắt được ngay cả các liên kết sẽ điều hướng khỏi trang của bạn. Có thể bạn không muốn điều đó. – jpbochi

+0

Trong thử nghiệm của tôi với một ứng dụng trang đơn, thao tác này đã hoạt động và không kích hoạt khi điều hướng đến một trang khác. –

23

Bạn nên ghi đè notFound chức năng.

Như thế này:

var app = $.sammy('#app', function() { 
    this.notFound = function(){ 
    // do something 
    } 
}); 

Đây là recommended bởi tác giả của Sammy.

+1

Đây phải là câu trả lời được chấp nhận. – Brandon

+0

Điều này là thích hợp để thực hiện một sự kiện 404 Không tìm thấy, nhưng như là một tuyến bắt tất cả nó không thực tế vì 'this' sẽ là' Application', và không phải là 'EventContext'. Vì vậy, sẽ không có các thuộc tính như 'path' và' params'. –

Các vấn đề liên quan