在路由時傳遞參數的有效的正確寫法——參數訂閱
解決的問題:同一組件在路由中重複調用不會重新加載[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"]
)
}
}