如何在 Angular 2 中使用“/:params”获取参数

How to get parameters using "/:params" in Angular 2

我想使用 "product/:id" 从类似于此 "sample.com/product/45" 的 link 获取参数, 这是我的路线声明:

export const routes: Routes = [
  { path: 'product/:id', component: Product }
];

这里是组件class

export class Product implements OnInit, OnDestroy {
  id: number;
  private sub: any;

  constructor(private route: ActivatedRoute) {}

  ngOnInit() {
    this.sub = this.route.params.subscribe(params => {
       this.id = +params['id'];

       console.log(this.id); //I get undefined here
    });
  }

  ngOnDestroy() {
    this.sub.unsubscribe();
  }
}

当我尝试 console.log() id 时,我得到了 undefined

试试这个,

ngOnInit() {
    this.id = this.activatedRoute.snapshot.params["id"];
}