Đăng ký listener
Để đăng ký event listener, dùng phương thứcrouter.on().
inertia: vào tên sự kiện.
Gỡ listener
Khi bạn đăng ký event listener, Inertia tự động trả về một callback có thể gọi để gỡ listener đó.removeEventListener().
Hủy sự kiện
Một số event nhưbefore, exception và invalid hỗ trợ hủy, cho phép bạn ngăn hành vi mặc định của Inertia. Tương tự event nguyên bản, event sẽ bị hủy nếu chỉ cần một event listener gọi event.preventDefault().
router.on(), bạn có thể hủy event bằng cách trả về false từ listener.
popstate, vì vậy không thể ngăn các lần điều hướng tiến và lùi trong lịch sử khi sử dụng Inertia.js.
Before
Sự kiệnbefore được phát ngay trước khi một request chuẩn bị được gửi đến máy chủ. Điều này hữu ích để chặn visit.
Start
Sự kiệnstart được phát khi request đến máy chủ đã bắt đầu. Sự kiện này hữu ích để hiển thị loading indicator.
start không thể bị hủy.
Progress
Sự kiệnprogress được phát khi tiến trình tăng lên trong quá trình tải file.
progress không thể bị hủy.
Success
Sự kiệnsuccess được phát khi page visit thành công, trừ khi có lỗi validation. Tuy nhiên, điều này không bao gồm các visit trong lịch sử trình duyệt.
success không thể bị hủy.
Flash
v2.3.3+ Eventflash được kích hoạt khi flash data được nhận từ server. Điều này hữu ích để hiển thị toast hoặc xử lý dữ liệu tạm thời tại một vị trí tập trung.
flash không thể hủy. Partial reload chỉ kích hoạt event nếu flash data đã thay đổi.
Error
Sự kiệnerror được phát khi có lỗi validation trong các page visit “thành công”.
error không thể bị hủy.
Invalid
Eventinvalid được kích hoạt khi nhận response không phải Inertia từ server, chẳng hạn HTML hoặc JSON thông thường. Response Inertia hợp lệ phải có header X-Inertia đặt thành true, cùng payload json chứa page object.
Sự kiện này được phát với mọi loại response, bao gồm các mã response 200, 400 và 500.
invalid để ngăn Inertia hiển thị modal chứa response không phải Inertia.
Exception
Sự kiệnexception được phát khi xảy ra lỗi XHR ngoài dự kiến như gián đoạn mạng. Ngoài ra, sự kiện này cũng được phát với các lỗi xảy ra trong quá trình resolve page component.
exception để ngăn lỗi bị ném ra.
400 hoặc 500, cũng như với response không phải Inertia, vì các tình huống này được Inertia xử lý theo cách khác. Xem tài liệu xử lý lỗi để biết thêm thông tin.
Finish
Sự kiệnfinish được phát sau khi một request XHR hoàn tất, áp dụng cho cả response “thành công” lẫn “không thành công”. Sự kiện này hữu ích để ẩn loading indicator.
finish không thể bị hủy.
Navigate
Sự kiệnnavigate được phát khi page visit thành công, cũng như khi điều hướng qua lịch sử trình duyệt.
navigate không thể bị hủy.
Prefetch
Eventprefetching được kích hoạt khi router bắt đầu prefetch một trang.
prefetching không thể hủy.
Prefetched
Eventprefetched được kích hoạt khi router đã prefetch một trang thành công.
prefetched không thể hủy.