javascript - 如何在 Angular 6 中手动和以编程方式区分 URL 更改?

标签 javascript angular

所以问题在标题中。我需要通过单击带有 [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))

More on Angular's Router events

关于javascript - 如何在 Angular 6 中手动和以编程方式区分 URL 更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51061563/

相关文章:

javascript - 我可以使用 express.js 创建 web api 而没有安装 node.js 吗?

html - 如何仅在某些页面上隐藏我的左侧导航菜单

Angular 2 : How to send data from client to server when making request

angular - Material Design Lite 工具提示不适用于 Angular 2

javascript - 当从数据库本身获取 modelObject 时, modelObject.save() 是否仅更新现有数据库文档?

javascript - 在单个 Javascript 函数中处理多个 websocket 订阅,但只处理一个连接对象

javascript - Node.JS 没有选择数据库,尽管它是

带有 Auth0 路由错误 404 的 Angular 2

Javascript 整理嵌套函数

javascript - 如何将 List<T> 从 Ajax Post 传递到 ASP.NET Razor Pages 代码隐藏