angular - 对象类型上不存在属性长度

标签 angular typescript

我有一个从 docker 获取 JSON 的服务。我想获取容器的数量。

所以我订阅了我的服务:

ngOnInit() {
    this.docker.getContainers().subscribe(containers => {
        console.log(containers.length);
    });
}

我在控制台上得到了正确答案,但我得到:

property length does not exist on type Object

我做错了什么吗?

export class DockerService {
  private baseUrl:string = 'http://localhost:8080/api/docker';
  private headers = new HttpHeaders({'Content-Type':'application/json'});
  private options = new HttpHeaderResponse({headers:this.headers});

  constructor(private _http:HttpClient) { }

  getContainers() {
    return this._http.get(this.baseUrl + "/containers", this.options);
  }

  getImages() {
    return this._http.get(this.baseUrl + "/images", this.options);
  }
}

最佳答案

声明 var 时应使用 (containers: any[]):

ngOnInit() {
    this.docker.getContainers().subscribe((containers: any[]) => {
        console.log(containers.length);
    });
}

关于angular - 对象类型上不存在属性长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50351381/

相关文章:

Angular 5 在运行时使用 Angular CLI 加载语言环境

Angular 2 为多个模块定义数据模型

typescript - 在 typescript 中命名联合类型

typescript - 在客户端和服务器之间共享类型

typescript - 由于符号的原因,Keyof 无法在模板文字中工作

javascript - TypeScript 扩展类,行为不符合逻辑

angular - 与对象的 URL 连接在 Angular 4 中返回错误请求

javascript - 如何调试 "Expression Changed After It Has Been Checked"错误?

javascript - 如何获取表单输入,使用 Angular Binding 选择值?

javascript - webpack 如何替换 .ts 文件中的字符串?