2 回答
TA贡献1816条经验 获得超4个赞
在您的代码中,fanSpeedCard 是一个属性,它在您的类(DashboardComponent)构造时分配了对象的值(使用 CardSettings 接口) :
fanSpeedCard: CardSettings = {
content: this.fanSpeed
};
由于 fanSpeed 最初没有定义(仅作为字符串类型)并且由于您没有在 API 响应中更新 CardSettings 对象 - 您的 UI 不会更改。
如评论中所述,您需要确保更新订阅块内的 CardSettings 内容属性的值(不仅仅是 fanSpeed):
gOnInit() {
this.apiService.getFanSpeed().subscribe((response)=>{
this.fanSpeed = response['fanSpeedVar'];
this.fanSpeedCard.content = this.fanSpeed;
});
}
TA贡献1789条经验 获得超8个赞
您没有正确更新ngOnInit()fanSpeedCard中的content属性值。在ngOnInit()中,您重新分配了this.fanSpeed值。在这里,您应该将服务响应值分配给'属性。fanSpeedCardcontent
以下解决方案将解决您的问题。
组件.ts 文件
import { Component, OnInit } from '@angular/core';
import { ApiService } from '../../api.service';
interface CardSettings {
content: string;
}
@Component({...})
export class DashboardComponent implements OnInit {
fanSpeed: string;
ngOnInit() {
this.apiService.getFanSpeed().subscribe((response)=>{
this.fanSpeed = response['fanSpeedVar']
this.fanSpeedCard.content = this.fanSpeed;
});
}
fanSpeedCard: CardSettings = {
content: this.fanSpeed
};
constructor(private apiService: ApiService) {}
}
添加回答
举报