TS2334类型“对象”上不存在属性“长度”。仅在应用启动时(ng-serve)

时间:2018-10-16 14:01:46

标签: javascript angular typescript angular-cli

启动我的角度应用程序时遇到问题。

我有一个函数可以执行发布请求,向我的组件返回一些数据并绘制图表。启动应用程序后,进行一些随机修改并保存,效果很好,但是当我第一次启动应用程序时,我得到了Property 'length' does not exist on type 'Object'. 在我的响应数组上的for循环上。

仅当响应不为null时,我才尝试遍历整个响应,但这没用。

功能:

dailyForecast() {
  var token = {token : "0a1b2c3d"};
  return this._http.post("https://www.improving.com.br/api/test/hits-by-browser", token)
  .map(result => result);
}

我在此for循环中收到错误,但在重新编译后仍然可以正常工作。

ngOnInit() {
  let chart = < any > {};
  this._weather.dailyForecast()
    .subscribe(res => {
      console.log(res);
      let browsers = [];
      let browsersAcesss = [];
      if (res !== null) {
        for (var i = 0; i < res.length; i++) {
          browsers.push(res[i][0]);
          browsersAcesss.push(res[i][1]);
        }
      }
    });
}

1 个答案:

答案 0 :(得分:5)

如果要避免编译错误,可以将响应类型设置为dependencies { compile project(':controllers') } 或自定义接口。

any[]