我是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中绑定类的正确方法吗?
答案 0 :(得分:1)
您无法从传递给hasPartnered
的函数中的forEach
返回值。
试试这个:
hasPartnered(listing, partner) {
return listing && listing.indexOf(partner) !== -1;
}