【问题标题】:Binding class in Vue2 with method用方法绑定Vue2中的类
【发布时间】:2017-12-18 04:02:00
【问题描述】:

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

【问题讨论】:

    标签: vue.js vuejs2


    【解决方案1】:

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

    试试这个:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-31
      • 1970-01-01
      • 2012-05-01
      • 1970-01-01
      相关资源
      最近更新 更多