Javascript 来自v-for v-if组合的Vue方法调用未返回值

Javascript 来自v-for v-if组合的Vue方法调用未返回值,javascript,vue.js,Javascript,Vue.js,因此,我的html中有一段代码,它在数组上执行v-for循环,然后对每个条目调用一个带有参数的方法,使用v-if只显示选项标记is it returns true 以下是html代码片段部分: <template v-for="a in agencies"> <option v-if="agencyCk(a) === true" :value="a">${a}</option> </template> 就目前而言,它似乎以false返回all。a

因此,我的html中有一段代码,它在数组上执行v-for循环,然后对每个条目调用一个带有参数的方法,使用v-if只显示选项标记is it returns true

以下是html代码片段部分:

<template v-for="a in agencies">
<option v-if="agencyCk(a) === true" :value="a">${a}</option>
</template>
就目前而言,它似乎以false返回all。

agencyCk函数没有显式返回任何内容。因此,函数的返回值将是未定义的,这将被解释为false

要了解原因,请仔细查看if语句,它基本上可以归结为以下内容:

如果对象。键…查找

它没有身体。您编写的返回语句是针对find函数的,而不是针对agencyCk函数的

我想你想要的是:

返回对象。键…查找…!=未定义的

agencyCk函数没有显式返回任何内容。因此,函数的返回值将是未定义的,这将被解释为false

要了解原因,请仔细查看if语句,它基本上可以归结为以下内容:

如果对象。键…查找

它没有身体。您编写的返回语句是针对find函数的,而不是针对agencyCk函数的

我想你想要的是:


返回对象。键…查找…!=未定义的

好吗?他们不都是假的吗?在这方面有个好主意会有帮助的。不,有些是真的。当我将console.log状态放在return true之上,并使用一些短语时,它会将该状态发布到控制台,以表示该状态为true。但我似乎无法表现出这一点,好吗?他们不都是假的吗?在这方面有个好主意会有帮助的。不,有些是真的。当我将console.log状态放在return true之上,并使用一些短语时,它会将该状态发布到控制台,以表示该状态为true。但我似乎无法表现出这一点。
agencyCk: function(agency) {
        // checked object keys for matching name
        if (Object.keys(st.fullAgency).find(function(k) {
            // if name matches agency
            if (k === agency) {
                var obj = st.fullAgency[k];
                // loops through an array for each value
                for (h in st.hosts) {
                    // if value matches object key's value
                    if (link === st.hosts[h]) {
                        return true;
                    } else {
                        return false;
                    }
                }
            }
        }));
    }