0

我有两个页面,分别是角色列表和角色详细信息。有取决于角色的要求,我需要在单击保存按钮后隐藏菜单选项。这我可以用下面的代码来实现

windows.location.reload();

重新加载后我需要导航到不同的页面..为此我使用下面的代码。

if(this.menuHide == "true"){     
   window.location.reload();
   this.router.navigateByUrl('/', {skipLocationChange: true}).then(()=>
   this.router.navigate(['role-list']));
} 

也尝试了这些选项

this.router.navigate(['/role-list']));
this.router.navigateByUrl('/role-list'); 

reload 方法下面的代码没有执行,这意味着它没有重定向到role-list页面。我正在使用angular 7版本。

任何人都可以提出任何关于如何导航到其他页面的想法,这将不胜感激,非常感谢。

4

3 回答 3

0

如果你只想隐藏菜单,你不需要重新加载整个页面,只需实现一个隐藏功能并使用它。只有使用“路由器”才能在新选项卡中打开,您必须单独创建链接并使用“window.open()”函数调用它。

可能会帮助您进行路由

于 2019-09-18T06:05:18.377 回答
0

我已经通过使用下面的代码解决了这个问题

  if(this.menuHide == "true"){
      this.router.navigate(['/role-list']).then(()=>{
           window.location.reload();
       });
    } 

它工作得很好..谢谢大家的宝贵建议。

于 2019-09-18T16:26:34.147 回答
0

你不应该打电话

window.location.reload();

您在这里所做的是重新加载整个页面并破坏 Angular 应用程序。你永远不应该在单页应用程序中执行此操作,例如使用 Angular 创建的应用程序。调用 reload 之后的任何代码都将永远不会执行,因为您已经破坏了整个 JavaScript 应用程序并从头开始重新加载整个事物,这是不可取的。

在 Angular 中,我们使用一种现代编程风格,称为基于 RxJs 可观察对象的反应式编程。这是一个远远超出 StackOverflow 答案范围的概念,但您的菜单应该对角色的 Observable 做出反应。

于 2019-09-17T23:25:21.600 回答