如何在vue.js 2中添加类中的条件?

时间:2017-05-03 10:06:08

标签: vue.js vuejs2 vue-component

我的组件vue是这样的:

<template>
    <a href="javascript:" class="btn btn-block" :class="{ product == 'responseFound' ? ' btn-default' : ' btn-success' }" @click="add($event)">
        ...
</template>

存在错误:

  

表达式无效:: class =“{product =='responseFound'?'   btn-default':'btn-success'}“

我该如何解决?

2 个答案:

答案 0 :(得分:4)

只需删除:class中的括号:

即可
<template>
    <a href="javascript:" class="btn btn-block" :class="product == 'responseFound' ? ' btn-default' : ' btn-success'" @click="add($event)">
        ...
</template>

如果要添加更多条件,请使用[]包装它以创建数组:

:class="[product == 'responseFound' ? ' btn-default' : ' btn-success', foo ? 'foo' : 'bar']"

答案 1 :(得分:1)

我会为这种行为使用计算属性。

从模板中删除逻辑,并将其移动到脚本部分。

<template>
    <a href="javascript:" class="btn btn-block" :class="classes" @click="add($event)">
</template>

    <script>
      export default {
         computed: {
                classes() {
                    return this.product == 'responseFound' ? 'btn-default' : 'btn-success'             
                }
            }
         }
    </script>