javascript - 如何在特定条件下显示数组
问题描述
我必须显示我在一个组中有多少个数组。该数组通过其 ID 与组相关联。当组为-1 时,组不存在,0 禁止。因此,当数组的组 > 0 时,它具有组关联。
为了显示阵列卡,我使用了 v-for:
<div class="overview" v-for="group in groups" :key="group.id">
并显示
它错过了返回正确组中的数字的方法。我试过这个,但它不起作用
array(group) {
http.get('array/group/' + group.id)
.then( result => {
if ( result.length > 0) {
console.log(result);
this.array= result.length;
} else this.array= '0'
})
.catch(error => {console.error(error);
});
return this.array
}
解决方案
问题是 javascript 中的获取是异步发生的——这意味着您的 return 语句在您的网络请求完成之前很久就执行了。与其直接返回计数,不如返回一个承诺,该承诺在网络请求完成后解析为固定装置的数量:
numberOfFixtures(group) {
// Returning a promise, not a value
return http.get('fixture/group/' + group.id)
.then( result => {
return result.length > 0
? result.length
: '0';
}).catch((error) => {
console.error(error);
});
});
}
当您现在想获取灯具数量时:
numberOfFixtures(group).then((fixtureCount) => {
// Do something with fixture count
}
推荐阅读
- python - 使用python进行筛选比较
- javascript - (Javascript) 访问 Firebase RealtimeDatabase 中列表的最后一个元素
- c# - dbmail 有时在 sql 中停止
- c++ - 在 C++ 中测试默认操作
- angular - 如何在打字稿中声明和处理浮点类型?
- python - 为什么 pandas nsmallest 比 sort_values 快
- vim - 带有字符串连接的 Vim 设置选项
- javascript - 如何知道我的 JS 的哪一部分让它变得迟钝?
- ruby-on-rails - PortfoliosController#create 中的 ActiveRecord::AssociationTypeMismatch
- java - '/media/disk/sdk/build-tools/19.1.0/aapt'' 以非零退出值 1 结束