是否可以创建一个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