首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular canActivate更改URL

Angular canActivate更改URL
EN

Stack Overflow用户
提问于 2018-11-16 01:49:23
回答 1查看 736关注 0票数 3

我已经为我的Angular 5.2应用程序实现了CanActivate路由器保护。如果返回true,则URL不会更改,但当返回false时,URL会更改并将路径附加到URL。在应用程序中的任何地方,我们都会更改它的路由,因此skipsLocationChange地址永远不会更改,但在这种情况下,它会更改。这基本上就是canActivate代码的样子。

代码语言:javascript
复制
canActivate(){
  if(someRightsThatReturnsTrue)
    return true;
  else{
    this.router.navigateByURL('noauthpage', {skipLocationChange: true});
    return false;
  }
}

关于URL为什么会改变,有什么想法吗?它是不是因为不能渲染页面而“失败”的Router机械师?

EN

回答 1

Stack Overflow用户

发布于 2019-05-07 14:50:18

找到了一种解决方法,曾经称为

代码语言:javascript
复制
this.router.navigate(['noauthpage'], { skipLocationChange: true });

你可以打电话给

代码语言:javascript
复制
this.location.replaceState('current_page');

立即替换浏览器url。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53325237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档