Có thể xác định tuyến đường toàn tuyến hoặc tuyến lỗi trong Sammy.js không? Tôi biết tôi có thể liên kết với 'lỗi' nhưng nếu không có tuyến đường phù hợp mà dường như không được kích hoạt.Các tuyến bắt hoặc tất cả các lỗi trong Sammy.js
Cảm ơn!
Có thể xác định tuyến đường toàn tuyến hoặc tuyến lỗi trong Sammy.js không? Tôi biết tôi có thể liên kết với 'lỗi' nhưng nếu không có tuyến đường phù hợp mà dường như không được kích hoạt.Các tuyến bắt hoặc tất cả các lỗi trong Sammy.js
Cảm ơn!
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() {
...
});
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.
Đây phải là câu trả lời được chấp nhận. – Brandon
Đ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'. –
đ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 /.*/ –
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
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. –