从服务传递参数时出现错误

时间:2019-01-30 06:09:44

标签: ionic-framework ionic3

这是代码,我在从服务传递此参数时收到错误消息。

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上定义类别

1 个答案:

答案 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)
       })
}