Tôi có router với canActivate: [ AuthGuard ]
và xác nhận bên AuthGuard
Angular2: làm thế nào để "tải lại" trang với bộ định tuyến (kiểm tra lại có thể kích hoạt)?
Làm thế nào để buộc kiểm tra canActivate
trong cùng một url router? Ví dụ: Tuyến đường hiện tại là /admin
và tôi đã có sự kiện như session expired
. Tôi có kiểm tra phiên trong AuthGuard
nhưng kiểm tra này chỉ kích hoạt khi tôi thực hiện .navigate(...)
. Làm thế nào để lực lượng chạy canActivate
ở cùng một vị trí?
Tôi đã thử: this.router.navigate([ this.router.url ]);
nhưng góc kiểm tra cùng một vị trí và không làm gì cả.
p.s. Tôi có thể tìm đến "trang đăng nhập" hoặc các trang khác khi tôi nhận được session expired event
, nhưng tôi có tất cả chuyển hướng bên trong AuthGuard
và tôi không muốn lặp lại cùng một chuyển hướng trong tất cả các sự kiện khác, tôi cần giống như location.reload()
nhưng trong các tuyến đường Angular2.
Câu hỏi chính có vẻ như: Cách buộc chạy lại canActivate
bảo vệ ở vị trí hiện tại?
Giải pháp tuyệt vời, hoạt động hoàn hảo! Tôi đã làm một số nghiên cứu khác và của bạn là tốt nhất tôi đi qua. Bạn có tìm cách cải thiện điều này không? Không phải là nó cần nó, chỉ tò mò thôi. –
@JulianFraser nope, tôi đã sử dụng nó trong sản phẩm cho đến bây giờ – MixerOID