appcomponent-html:
<a [routerLink]="['/']">主页</a>
<a [routerLink]="['/product']" [queryParamMap]="{id:1}">商品详情</a>
<!--通过router对象来导航-->
<input tyoe="button" value="商品详情" (click)="toProductDetails()">
<!--路由插座:导航的组件显示在router-outlet位置上-->
<router-outlet></router-outlet>
`
productcomponent.ts:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
selector: 'app-product',
templateUrl: './product.component.html',
styleUrls: ['./product.component.css']
})
export class ProductComponent implements OnInit {
private productId: number;
constructor(private routerInfo: ActivatedRoute) { }
ngOnInit() {
this.productId = this.routerInfo.snapshot.queryParamMap['id'];
}
}
报错:
Can't bind to 'queryParamMap' since it isn't a known property of 'a'. ("
<a [routerLink]="['/']">主页</a>
<a [routerLink]="['/product']" [ERROR ->][queryParamMap]="{id:1}">商品详情</a>
解决:把 queryParamMap 改为 queryparams ,但是官方文档说提供前者,后者将逐渐被废弃。