2017-04-13 36 views
0

我有一个标准的Angular应用程序,它使用角路由器来控制页面导航。角路由器和导航通过'向后''前进'浏览器按钮

如果我通过这样的

this.router.navigate(['component2']); 

正确的页面显示,但是在浏览器的地址栏“我们发现了一个代码控制导航类似https://myserver.com/component2

,因为我不想看component2作为url的最后部分,我用下面的代码来导航

this.router.navigate(['component2'], {skipLocationChange: true}) 

如果我这样做,通过浏览器的标准“后退”向前按钮导航不再工作。

有没有办法避免将组件的路径引用为url的一部分,同时能够通过标准浏览器按钮进行导航?

回答

3

我会假设没有。如文档中所述:https://angular.io/docs/ts/latest/guide/router.html Angular路由器使用地址栏作为其标准操作的一部分。

我可以理解为什么你不想在地址栏中显示组件的名称。为什么不将路线路径名称更改为该功能?如:myserver.com/customers或myserver.com/products。

试图对抗路由器工作的标准方式可能会导致您的团队陷入困境。

相关问题