Sim*_*xca 10 angular-ui-router angular
假设我有一个像这样的param的路线(在Angular 2中):, /user1/products/:id它可能有像子路线一样的子路线/user1/products/3/reviews.
当我导航到/user1/products/-1,我检查我的服务器,如果产品不存在,我想渲染404页面而不影响浏览器历史记录.
使用router.navigate(['/404'])或router.navigateByUrl('/404')似乎不起作用,因为它会同时添加/user1/products/-1和/404浏览器历史记录.
这意味着当我按下浏览器中的" 后退"按钮时,我会回到/user1/products/-1立即重定向到的那个/404,我基本上被困在了/404.
在ExpressJS中,我们会将next()请求传递给404处理程序.Angular 2中是否有客户端等价物?
更新
在新的Router V3中,您可以使用https://angular.io/guide/router#canactivate-requiring-authentication中所述的防护
原版的
我认为您应该使用@CanActivate()来进行检查.如果您在@CanActivate()无效网址中转发不应添加到历史记录中(未尝试)
有关如何使用DI的信息,请参阅https://github.com/angular/angular/issues/4112@CanActivate()
| 归档时间: |
|
| 查看次数: |
5907 次 |
| 最近记录: |