所以问题在标题中。我需要通过单击带有 [routerLink]
的按钮来改变导航以及当用户在浏览器搜索栏中手动输入 URL 时。
UPD: 所以我有固定菜单的页面。这个菜单看起来像:
<ul>
<li [routerLink]="[/step1]">Step1</li>
<li [routerLink]="[/step2]">Step2</li>
<li [routerLink]="[/step3]">Step3</li>
</ul>
每个步骤都有自己的内容,在 <router-outlet>
中的菜单下呈现.
步骤的顺序很重要。因此,如果用户在浏览器中手动输入 url,如 www.my-app.com/step2
,我想将用户从“/step2”重定向到“/step1”。 .如果他到达 step2
从菜单 - 不要重定向。
最佳答案
您可以使用 Angular 的 ActivatedRoute 实现您可能想要的功能类。
导入并注入(inject)提供者:
import { ActivatedRoute } from '@angular/router'
// ...
constructor(private activatedRoute: ActivatedRoute) { ... }
然后订阅它并测试它:
this.activatedRoute.url.subscribe(url => console.log(url))
关于javascript - 如何在 Angular 6 中手动和以编程方式区分 URL 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061563/