Angular单个网址用于所有路由吗?

时间:2018-08-06 00:55:56

标签: html angular typescript

这是我的应用首页网址:http://localhost:4200/ 每当用户选择下一个按钮时,就会显示一个新屏幕,并显示一个新的URL,类似于以下示例:

http://localhost:4200/screen/static/text/1/0

http://localhost:4200/screen/activity/click-and-reveal/1/1

http://localhost:4200/screen/activity/click-and-reveal/3/2 等等

我真的希望url显示单个值,例如http://MyProjectName .....因为我认为让url看起来像当前的样子看起来很不专业。

任何有关我如何完成此操作的帮助将不胜感激:)。

2 个答案:

答案 0 :(得分:1)

如果您在链接上使用导航选项SkipLocationChange,则URL不会更改。

<a routerLink="/somePath" skipLocationChange>Settings</a>

或在后面的代码中:

this.router.navigate(['/somePath'], { skipLocationChange: true });

但是这样做时,您将无法从目标组件中的ActivatedRoute读取参数。如果您的某些组件依赖于URL中的参数,则可以改用Service在组件之间共享所需的参数。

答案 1 :(得分:0)

有几种方法可以实现它:-

  1. Redux
  2. 可共享观察