javascript - TS2334 属性“长度”在“对象”类型上不存在。仅在应用启动时(ng-serve)
问题描述
当我启动我的角度应用程序时遇到问题。
我有一个执行发布请求的函数,将一些数据返回到我的组件并绘制图表。在我启动应用程序进行一些随机修改并保存后它工作正常,但是当我第一次启动应用程序时,我进入Property 'length' does not exist on type 'Object'.
了一个 for 循环,我的响应数组中有一个。
我已经尝试遍历响应,但前提是它不为空,但这不起作用。
功能:
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]);
}
}
});
}
解决方案
如果要避免编译错误,可以将响应类型设置any[]
为自定义接口。
ngOnInit() {
let chart = < any > {};
this._weather.dailyForecast()
.subscribe((res: any[]) => {
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]);
}
}
});
}
推荐阅读
- java - java.security.InvalidKeyException:从 PEM 文件生成公钥、私钥时密钥格式无效
- html - JSP上的XSS攻击如何防范
- apache-spark - Spark Sql - 插入外部 Hive 表错误
- ubuntu - https://localhost:1337 在 ubuntu 网络服务器上给出“不可信”错误,但域没有
- postgresql - 如何使用条件创建索引并使用它
- python - 将值写入文件时遇到问题
- laravel - 尝试在 postgresql 中的空表和现有表中添加列
- javascript - React Redux API 调用,数据未返回组件
- android - 限制 listView 项目重复
- node.js - 我们可以检查我们是否从另一台服务器收到 POST 请求调用吗?