Angular 输入从角度2中的可观察对象返回的数据
因此,我正在尝试构建一个应用程序,它将获取温度和湿度数据,并在应用程序中输出这些值。现在,我可以从data.json中的模拟数据中获取数据,并将该数据输出到HTML模板中 但是,我想做的是在给定的时间取值,并根据这些值输出不同的值,即取华氏值并计算摄氏度,或者计算可变压力差(VPD),它根据温度和湿度输出值 我的问题是如何获取这些值,以便将它们插入公式中。它使用{…}输出结果很好,但是我不知道如何加/减/除等这些值 服务:Angular 输入从角度2中的可观察对象返回的数据,angular,typescript,observable,Angular,Typescript,Observable,因此,我正在尝试构建一个应用程序,它将获取温度和湿度数据,并在应用程序中输出这些值。现在,我可以从data.json中的模拟数据中获取数据,并将该数据输出到HTML模板中 但是,我想做的是在给定的时间取值,并根据这些值输出不同的值,即取华氏值并计算摄氏度,或者计算可变压力差(VPD),它根据温度和湿度输出值 我的问题是如何获取这些值,以便将它们插入公式中。它使用{…}输出结果很好,但是我不知道如何加/减/除等这些值 服务: getData(): Observable<TempRh[]&
getData(): Observable<TempRh[]> {
return this._http.get('./assets/data.json')
.map((response: Response) => response.json())
.do(data => console.log("All: " + JSON.stringify(data)))
.catch(this.handleError);}
模板:
<ul>
<li *ngFor="let tempHum of tempHum">{{tempHum.temperature}} ,
{{tempHum.humidity}}</li></ul>
您可以执行以下操作。在组件内部,您可以声明一个函数和一个新数组:
modifiedTempHum: Array<any>;
private transformTemp(tempHum) {
for (let item of tempHum) {
const temperature = item.temperature;
const humidity = item.humidity;
// here you do what you want with your variables
modifiedTempHum.push({ Temperature: temperature, Humidity: humidity });
}
}
谢谢你的帮助。我可以得到我想要打印到控制台的计算结果,但是我无法将结果推送到空数组。新数据没有在HTML中输出<代码>代码>>>>计算Pd(tempHum){for(让tempHum的项){const temperature=item.temperature;const湿度=item.湿度;const摄氏=(temperature-32)/1.8;const variablepression=(100-湿度)*2486;this.VPD.push(variablepression);console.log(variablepression);}
codeVPD- VPD:{{VPD?.variablepression}
这是因为您没有像我给出的示例那样推送对象,相反,您的数组只有数字,它们是您的可变压力。这应该可以工作VPD- VPD:{VPD}
。请注意,避免对迭代的迭代器和集合使用相同的名称。我想我遵循了您的说法,但我仍然得到数组长度的值,但没有输出值,即“VPD:”。只需确保按前面描述的方法推送此.VPD.push(variablepression)
而且你的收藏有价值。它对我来说毫无问题。
[
{"date": "2012-05-01", "temperature": 70, "humidity": 70},
{"date": "2012-05-02", "temperature": 74, "humidity": 72},
{"date": "2012-05-03", "temperature": 79, "humidity": 65},
...]
modifiedTempHum: Array<any>;
private transformTemp(tempHum) {
for (let item of tempHum) {
const temperature = item.temperature;
const humidity = item.humidity;
// here you do what you want with your variables
modifiedTempHum.push({ Temperature: temperature, Humidity: humidity });
}
}
<ul>
<li *ngFor="let tempHum of modifiedTempHum">{{tempHum.Temperature}} ,
{{tempHum.Humidity}}</li></ul>
ngOnInit(): any {
this._dataService.getData()
.subscribe(
tempHum => this.transformTemp(tempHum),
);}