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

时间:2019-10-18 15:33:08

标签: javascript vue.js vuetify.js

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

答案 0 :(得分:0)

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

function numberOfFixtures(group) {
    return http.get('fixture/group/' + group.id)
    .then( result => result.length);
}

答案 1 :(得分:0)

问题在于,获取操作在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
}