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

我必须显示一个组中有多少个数组。该数组通过其 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

}


隔江千里
浏览 194回答 2
2回答

三国纷争

您的函数返回异步获取之外的内容。function numberOfFixtures(group) {&nbsp; &nbsp; return http.get('fixture/group/' + group.id)&nbsp; &nbsp; .then( result => result.length);}

小唯快跑啊

问题是在 javascript 中获取是异步发生的 - 这意味着你的 return 语句在你的网络请求完成之前很久就被执行了。您可以返回一个承诺,而不是直接返回计数,一旦网络请求完成,该承诺将解析为装置的数量:numberOfFixtures(group) {&nbsp; &nbsp; // Returning a promise, not a value&nbsp; &nbsp; return http.get('fixture/group/' + group.id)&nbsp; &nbsp; &nbsp; &nbsp; .then( result => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return result.length > 0&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ? result.length&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : '0';&nbsp; &nbsp; &nbsp; &nbsp; }).catch((error) => {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; console.error(error);&nbsp; &nbsp; &nbsp; &nbsp; });&nbsp; &nbsp; });}当您现在想获取灯具数量时:numberOfFixtures(group).then((fixtureCount) => {&nbsp; &nbsp; // Do something with fixture count}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript