用方法绑定Vue2中的类

时间:2017-07-13 11:36:34

标签: vue.js vuejs2

我是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中绑定类的正确方法吗?

1 个答案:

答案 0 :(得分:1)

您无法从传递给hasPartnered的函数中的forEach返回值。

试试这个:

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