我在Angular中有一个routerlink。我正在尝试与routerlink一起发送一些数据。这是组件的html代码:
html代码:
<a routerLink="/register" [queryParams]="{ selRole: 1 }">Register Now</a>
在我的组件中:
ngOnInit() {
this.route.queryParams
.subscribe(params => {
this.selRole = params['selRole'] || 0;
});
console.log(this.selRole)
}
但我总是得到一个0.这到底我到底做错了什么?
答案 0 :(得分:1)
尝试在[routerLink]和[queryParams]中使用相同的格式,即使它没有导致问题,
<a [routerLink]="['/register']" [queryParams]="{ selRole: 1 }">Register Now</a>
在将参数分配给 selRole
后,也将您的console.log放在哪里
ngOnInit() {
this.route.queryParams
.subscribe(params => {
this.selRole = params['selRole'] || 0;
console.log(this.selRole)
});
}
答案 1 :(得分:0)
console.log(this.selRole)
在调用queryParams.subscribe
之前运行。
queryParams是一个可观察的,您正在订阅该observable。只有在调用时才会获得该值。
要获取该值,您可以将console.log移动到订阅块中。
ngOnInit() {
this.route.queryParams
.subscribe(params => {
this.selRole = params['selRole'] || 0;
console.log(this.selRole)
});
}