是否可以創建一個Angular CanActivate Guard,讓用戶只有通過router.navigate
導航才能訪問路由?只能通過router.navigate訪問的角路由
示例: 用戶創建一個帳戶,並且有兩個組件可以顯示:RegistrationForm和ConfirmationForm。他們都有自己的具體路線配置'registrationForm','confirmationForm'。我希望ConfirmationForm只有在用戶通過RegistrationForm併成功註冊後才能訪問,我使用router.navigate('confirmationForm')
。當用戶將www.someURL.com/confirmationForm放入瀏覽器地址欄時,我希望它被阻止。
你考慮使用服務來存儲一個標誌i.e.'canShowConfirmationForm'?然後你可以在RegistrationForm中設置它並在Guard中使用。 – dzejdzej
嗯,我想我會這樣做,因爲這是我迄今發現的最佳解決方案 – patrykf