在路由时传递参数的有效的正确写法——参数订阅

解决的问题:同一组件在路由中重复调用不会重新加载[constructor()方法不会被调用,所以oninit方法也不会再调用 ,所以id属性依然保持着第一次被创建时赋予的值的问题],只有地址栏里会改变,页面传值的结果是第一次加载的值

在product.component.ts中

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

export class ProductComponent implements OnInit {

private productId:number

constructor(private routerInfo:ActivatedRoute)}

        ngOnInit() {

this.routerInfo.params.subscribe(

( params : Params )=>this.productId = params["id"]

)

          }

}