从路由器 URL 获取 ID

use*_*542 2 typescript angular angular6

我正在尝试记录我的角度应用程序中访问的每个页面。

我的路线是这样的:

const routes: Routes = [
  { path: ':id', component: AppComponent}
];
Run Code Online (Sandbox Code Playgroud)

我的 app.component .ts onInit:

ngOnInit() {
  console.log(this.router.url);
}
Run Code Online (Sandbox Code Playgroud)

当我访问 /testing123 时

我希望它记录“/testing123”,但在没有传递 ID 的情况下记录“/”。

Mas*_*bon 5

以下代码对于记录路由器 URL 中的 id 可能很有用:

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

export class AppComponent implements OnInit {

  constructor(private route: ActivatedRoute) { }

  ngOnInit() {
    this.route.params.subscribe(
      (params: Params) => {
        console.log(params['id']);
      }
    );
  }

}
Run Code Online (Sandbox Code Playgroud)