为了账号安全,请及时绑定邮箱和手机立即绑定

如何在特定条件下显示数组

如何在特定条件下显示数组

隔江千里 2021-11-25 19:06:06
我必须显示一个组中有多少个数组。该数组通过其 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}
查看完整描述

2 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

您的函数返回异步获取之外的内容。


function numberOfFixtures(group) {

    return http.get('fixture/group/' + group.id)

    .then( result => result.length);

}


查看完整回答
反对 回复 2021-11-25
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

问题是在 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

}


查看完整回答
反对 回复 2021-11-25
  • 2 回答
  • 0 关注
  • 192 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信