📜  como saber cuando un link cambia angular - Javascript (1)

📅  最后修改于: 2023-12-03 15:14:13.490000             🧑  作者: Mango

如何检测 Angular 中的链接变化

当使用 Angular 构建单页应用时,链接变化是常见情况。在这种情况下,需要监视这种变化以及相应的路由。

为了检测链接的变化,Angular 使用了一个名为 Router 的内置服务。通过使用 Router 服务,我们可以监听 URL 的变化并在 URL 发生变化时执行一些逻辑。

以下是一些介绍检测 Angular 中链接变化的方法。

监听路由事件

如果您要建立 Angular 程序的链接路由,首先要知道如何利用 Router 来监听路由事件。

在 Angular 中,路由器可以查看 Router.events 可观察对象来获取路由事件。

import { Component } from '@angular/core';
import { Router, NavigationStart } from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(private router: Router) {
    router.events.subscribe(event => {
      if (event instanceof NavigationStart) {
        console.log(event);
      }
    });
  }
}

在这个示例中,我们在应用程序启动时使用 Router 服务来监听 NavigationStart 事件。当 URL 发生变化时,console.log 会打印变化的信息。

计算路由参数

除了监听路由事件之外,我们还需要知道如何计算路由参数。这个过程可以通过检查当前的 ActivatedRoute 对象来完成。

import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  constructor(private route: ActivatedRoute) {
    this.route.params.subscribe(params => {
      console.log(params);
    });
  }
}

在这个示例中,我们使用 ActivatedRoute 来检查当前的路由参数。当 URL 发生变化时,console.log 会打印变化的路由参数信息。

结论

在 Angular 中,使用 Router 服务进行路由监视需要几个步骤。先是监听路由事件,然后是计算路由参数。

以上就是检测 Angular 中链接变化的介绍了,希望能对你理解该功能起到帮助。