当我点击按钮时,我会在控制台中获得正确的数据,但是现在当我单击按钮时,我希望数据“ reid”应该传递到url。当我尝试:
this.router.navigateByUrl('/details/' + this.results.reid);
我不确定地回来。
home.page.ts
searchName() {
this.results = this.userService.getName(this.searchTermName).subscribe(result => {
console.log('Restaurant: ', result);
this.router.navigateByUrl('/details/' + this.results.reid);
});
}
home.page.html
<ion-grid >
<ion-row >
<ion-col size-xs="12" size-sm="12" size-md="8" size-lg="8">
<ion-searchbar placeholder="Restaurant" [(ngModel)]="searchTermName" ></ion-searchbar>
</ion-col>
</ion-row>
</ion-grid>
<div class="btn" >
<ion-button (click)="searchName()"color="primary" fill="solid">
suchen
</ion-button>
</div>
user.Service.ts
getName(name1) {
return this.http.get('http://127.0.0.1:8000/searchRestaurantByName', {headers: {name: name1}}).pipe(
map(name => {
console.log('RAW: ', name1);
return name;
})
);
}
results
是一个数组,因此您应该使用:
this.router.navigateByUrl('/details/' + this.result[0].reid);
注意,您有错别字,如果我很认真地看,它是result
而不是results
。>>
[我看到this.results
是一个对象数组,它的正常值是undefined
,进行重定向后,请尝试首先使用find wich对象。要进行测试,您可以使用this.results[0].reid
,您应该得到39。
应该不是结果。里德?现在,您正在引用this.results.reid