首页 > 解决方案 > 角度,类型上不存在属性

问题描述

我有一个小的天气应用程序。在浏览器中一切正常,但我从 TS 编译器收到错误: property name, main, winddoesn't exist on type Weather[]。但似乎我在课堂上添加了这些属性Weather[]......

export class AppComponent implements OnInit {  
  weather:Weather[];
  temp:string;
  pressure:number;
  humidity:number;
  wind_speed:number;
  wind_dec:number;
  city:string;
  activeId:string = "Misto Kyyiv"; 

  constructor(private getWeatherService:GetWeatherService) {}

  ngOnInit() {    
    this.getWeatherService.getWeather("Misto Kyyiv").subscribe(weather => {
      this.weather = weather;
      this.temp = (weather.main.temp -273.15).toFixed(2);
      this.pressure = weather.main.pressure;
      this.humidity = weather.main.humidity;
      this.wind_speed = weather.wind.speed;
      this.wind_dec = weather.wind.deg;
      this.city = weather.name;
      console.log(this.weather);
      console.log(this.temp);
    });
  }
export class Weather {
    main:any = {};
    wind:any = {};
    temp:number;
    pressure:number;
    humidity:number;
    wind_speed:number;
    wind_dec:number;
    city:string;
    activeId:string; 
    name:string;   
}
  //Get Weather 
  //it worked when I changed here Weather[] to Weather !!!
  getWeather(city:string):Observable<Weather> {
    let key = "c2dcf8ffb5cdc3f8977bfd2ae7ea4738";    
    let url = "http://api.openweathermap.org/data/2.5/weather?q=" + city + "&?units=metric&APPID=" + key;
    return this.http.get<Weather>(url);
  }

标签: angulartypescript

解决方案


我改成Weather[]Weather,TS 编译器停止了大喊大叫!


推荐阅读