我从openweather api获得了一个对象,该对象具有40个对象的数组,天气预报5天,间隔3小时。我在我的angular 2应用中无法显示这5天的预测。我需要按天过滤此数据,并在角度模板中显示这5天的预测,并显示日期,天,预测。我附上了从openweather api获取的对象的屏幕截图
javascript - 在angular 2应用程序中从openweather api检索数据-LMLPHP

这是我的ts文件代码,用于获取该对象:

 this.weatherService.loadCFiveDay(data.lat, data.lon)
                  .subscribe(data=>{

                      data.list.forEach(item => {
      }
}

最佳答案

您可以为此编写一个管道以按日期循环:

@Pipe({
    name : 'filterByDate',
    pure : false
})

export class FilterByDatePipe implements PipeTransform {
    transform(items : any[], filterDate : number) : any {
        if (!items || !items.length || !filterDate)
            return items;

        return items.filter(item => new Date(item.dt).getDate() === filterDate);
    }
}


然后在您看来,执行以下操作:

<div *ngFor="let filteredDate of myServiceData.list | filterByDate:22">
   <!-- everything here will now be filtered by the date of 22nd, so you can do things like -->
   <p>Today's weather - <span>{{ filteredDate.weather[0].description }}</span></p>
</div>


也许有一种更优雅的方法,但这应该可以帮助您入门。

关于javascript - 在angular 2应用程序中从openweather api检索数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44120544/

10-12 13:10