这是代码,我在从服务传递此参数时收到错误消息。
export class CardsPage {
currentItems: Item[];
id: any;
getData: Object;
categories:any;
constructor(public navCtrl: NavController, public api:Api, navParams:
NavParams, items: Items, public http: HttpClient) {
this.id = navParams.get('idName') ||'';
console.log(this.id);
this.api.getCategoryPosts(this.id).subscribe(data=>{
console.log(data)
this.getData = data
},err=>{
console.log(err)
})
}
openItem(item){
this.navCtrl.push('ItemDetailPage', {
itemName: item
});
}
}
这是我的Ts文件:
getCategoryPosts(category: any) {
return this.http.get(`${this.api_url}/posts?
categories=${category.id}`);
}
我收到的错误是参考错误:未定义类别参考错误。未在新CardsPage上定义类别
答案 0 :(得分:0)
您好,只需使用 ionViewWillEnter 即可获取参数,而无需在获取参数时使用OR操作,因此这是解决方案。
ionViewWillEnter(){
this.id = navParams.get('idName')
}
然后使用ionViewDidEnter通过服务获取数据。
ionViewDidEnter(){
this.api.getCategoryPosts(this.id).subscribe(data=>{
console.log(data)
this.getData = data
},err=>{
console.log(err)
})
}