Vue2 中带有方法的绑定类



我是 Vue2 的新手,在基于函数输出绑定类时遇到一些麻烦:

<ul v-for="sheep in sheeps">
// sheep.listing = ['b', 'e', 'f'];
// partners = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
<li v-for="foobar in partners" :class="{ done: hasPartnered(sheep.listing, foobar.name) }">
<span v-text="foobar.name"></span>
</li>
</ul>

在示例中:绵羊列出了来自 9 个合作伙伴的 3 个字母,因此 3 次是真,其余是假返回。

使用此方法:

hasPartnered(listing, partner) {
if(listing) {
listing.forEach(function(el) {
if(el == partner) {
return true;
}
});
}
return false;
},

它总是返回true;。所以这可能不是在 Vue 中绑定类的正确方法?

您不能从传递给forEach的函数内部从hasPartnered返回值。

试试这个:

hasPartnered(listing, partner) {
return listing && listing.indexOf(partner) !== -1;
}

最新更新