如何从TS生成离子选择进行循环

时间:2018-10-15 06:37:44

标签: angularjs ionic3

我是Ionic的新手。我想从ts文件的html文件中生成一个离子选择选项。在下面的代码中,我有一个for循环,该循环执行7次并给出7个不同的this.newDate值。我希望每次执行循环都会在html文件中创建ion-option。

 viewTime(){

       let url = 'http://api.timezonedb.com/v2.1/get-time-zone?key=8304HG08V&format=json&by=zone&zone=Asia/Kolkata';

        this.http.request(url, this.config.options)
        .map(res => res.json())
            .subscribe((response: any) => {
                console.log(response);
                console.log(response.timestamp);

                    var data = response.timestamp - 19800 ;
                      const datePipe = new DatePipe('en-US');
                    const time = datePipe.transform(data*1000, 'h:mm a');

                    //const datePipe = new DatePipe('en-US');
                    const serverDate = datePipe.transform(response.timestamp*1000, 'dd/MM/yyyy');
                    if(time >='16:00 PM'){

                        data = data+172800;

                        console.log("hello")
                    }

                    else{

                            data = data+86400;
                         console.log("exit")

                    }


     this.newDate = datePipe.transform(data*1000, 'dd/MM/yyyy');
        for (var i = 1; i < 8; i++) {

               var value = data+(86400*i);
               this.newDate = datePipe.transform(value*1000, 'dd/MM/yyyy');
          }

                                }, (err) => {
                                let alert = this.alertCtrl.create({
                                title: 'Error',
                                subTitle: 'Please check your credentials',
                                buttons: ['OK']
                                        });
                                 alert.present();
                                 });
                                 }
 }

如何解决此问题。请帮帮我。

1 个答案:

答案 0 :(得分:0)

我不知道您的要求。 但是您可以使用类似下面的内容。

sample.ts

export class Sample {

  dates;
  date;

  constructor() {

    this.dates = [];
  }

  viewTime(){

  for (var i = 1; i < 8; i++) {

    var value = data+(86400*i);
    this.newDate = datePipe.transform(value*1000, 'dd/MM/yyyy');
    this.dates.push(this.newDate);

    }
  }
}

sample.html

  <ion-item>
    <ion-label>Select a Date</ion-label>
    <ion-select [(ngModel)]="date">
      <ion-option *ngFor="let date of dates"> {{date}}</ion-option>
    </ion-select>
  </ion-item>

我为您创建了一个working example