Javascript 来自v-for v-if组合的Vue方法调用未返回值
因此,我的html中有一段代码,它在数组上执行v-for循环,然后对每个条目调用一个带有参数的方法,使用v-if只显示选项标记is it returns true 以下是html代码片段部分: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
<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;
}
}
}
}));
}