元素隐式具有“任何”类型,因为“字符串”类型的表达式不能用于索引“对象”类型

时间:2021-03-21 15:52:41

标签: angular typescript

在这里,我在 propertiesArray.push(data[id]); 上从 Iproperty 接口类型的变量中获取 JSON 文件的值时出错。
我正在将 VS 代码用于 Angular 应用程序。请让我知道我错在哪里???

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import {map} from 'rxjs/operators';
import { IProperty } from '../property/IProperty.inteface';
import { Observable } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class HousingService {

  constructor(private http:HttpClient) { }

  getAllProperties():Observable<IProperty[]>{
    return this.http.get('assets/Data/Properties.json').pipe(
      map(data=>{
        const propertiesArray :Array<IProperty>=[];
        for(const id in data)
        {
          if(data.hasOwnProperty(id)){
            propertiesArray.push(data[id]);//Get Error in data[id]
          }
        }
        return propertiesArray;
      })
    );
  }
}

0 个答案:

没有答案