如何调用对象值离子2



完成API调用后。在我的数据库中,我有一组JSON对象值。结构看起来像这样:

{
  "status": 1,
  "message": "List Successfully fetched",
  "CatgeoryList": [
    {
      "CatID": "10"
    },
{
      "CatID": "30"
    },
{
     "CatID": "0"
    }]
}

我已经完成了API打电话。我得到了status == 1。我可以在CatgeoryList中打印所有对象值。但是我想在CatgeoryList中打印所有catID。我无法得到。

在这里我的代码:

this.authService.categ(this.loginData).then((result) => {
      this.loading.dismiss();
      this.data = result;
       if(this.data.status == 1)
       {
       this.Catdata = this.data.CatgeoryList;  
      console.log(this.Catdata);  // i am getting all data
      this.Catdatanames = this.Catdata.CatID;  // not working
      console.log(this.Catdata.CatID); // not working
}
}

我想在CatgeoryList下获得catID

更新:

更新 home.html:

  <div class="item item-body no-padding" style="border-width: 0px !important;">  
  <div class="row no-padding"  *ngFor="let data of Catdata;let i = index" (click)="opndetailpage()">
     <ng-container *ngIf=" i % 2 === 0">
          <div class="col col-50 custom-design2" style="background: url(url) no-repeat center;background-size: cover;">
               <div class="custom-design1"><span class="grid-title">{{Catdata[i].CategoryName}}</span></div>
            </div>
            <div class="col col-50 custom-design2" style="background: url(url) no-repeat center;background-size: cover;">
                 <div class="custom-design1"><span class="grid-title">{{Catdata[i+1].CategoryName}}</span></div>
             </div>

     </ng-container>
</div> 

</div>

home.ts

constructor(
    public alertCtrl: AlertController,
    public app: App,
    public loadingCtrl: LoadingController,
    public modalCtrl: ModalController,
    public navCtrl: NavController,
    public toastCtrl: ToastController,
    public confData: ConferenceData,
    public user: UserData,
    public http:Http,
    public authService: AuthService
  ) {
this.showLoader();
    this.authService.categ(this.loginData).then((result) => {
      this.loading.dismiss();
      this.data = result;
       if(this.data.status == 1)
       {
       this.Catdata = this.data.CatgeoryList;

           for(let i=0; i<this.Catdata.length; i++) {
               console.log(this.Catdata[i].CategoryName);
           }

       }
       else if(this.data.status == 0) {
     let alert = this.alertCtrl.create({
    title: 'Error',
    subTitle: 'Please Enter Valid Username & Password',
    buttons: ['OK']
  });
  alert.present();
       }
    }, (err) => {
      this.loading.dismiss();
    });     
  }

我的 takeexam.html

   <ion-buttons>
 <button (click)="canceltap()" style="font-size: 15px;text-transform: none;" ion-button>Cancel
    </button>
    </ion-buttons>

我的takeexam.ts

canceltap() {
   // this.navCtrl.pop();
    console.log("pop tap");
    this.navCtrl.setRoot(TabsPage);  .// this is my home page

  }

因此,当我按takeexam.html中的取消按钮时,它将转到TABP [age.html(主页(。但是在那没有数据显示。我只是在主页上尝试使用硬码一些值。当我按取消按钮显示所有数据时,那段时间。

因此,我发现问题在于在IonviewDidload或其他一些方面键入数据。我试过。ionViewDidEnter ionDidLoad。但是什么都没有用

由于 this.data.CatgeoryList是一个数组,您需要使用循环来对每个项目做某事

this.authService.categ(this.loginData).then((result) => {
      this.loading.dismiss();
      this.data = result;
       if(this.data.status == 1) {
           // this.Catdata is an array
           this.Catdata = this.data.CatgeoryList;
           // Use a loop to print the items
           for(let i=0; i<this.Catdata.length; i++) {
               console.log(this.Catdata[i].CatID);
           }
       }
}

,如果您想在视图中显示它,则可以使用ngfor

<ion-list>
    <ion-item *ngFor="let item of Catdata">
        {{ item.CatID }}
    </ion-item>
</ion-list>

update

,但是如果我想通过onclikc获得catid。这意味着我需要通过 那calt缩于我的另一页的意思。离子2通过(单击(我该如何通过 这个挑战下一页

更新视图

<ion-list>
    <ion-item (click)="showDetails(item.CatID)" *ngFor="let item of Catdata">
        {{ item.CatID }}
    </ion-item>
</ion-list>

您可以在组件代码上添加新方法

public showDetails(catId: any): void {
    this.navCtrl.push(AnotherPage, { catId: catId });
}

以及在构造函数中的第二页中,使用navparams

获取数据
constructor(public params: NavParams){
   // userParams is an object we have in our nav-parameters
   this.catId = this.navParams.get('catId')
 }

相关内容

  • 没有找到相关文章

最新更新