如何在 Vuejs 中的子组件中包含动态 class 以及条件动态 class

How to include a dynamic class as well as a conditional dynamic class to a child component in Vuejs

我有一个 GenericButton 组件,我需要将几个道具传递给它。一个是它将使用的 class,另一个是 class,如果按钮被禁用,它将应用。我在这里阅读了 Vue 文档:https://vuejs.org/v2/guide/class-and-style.html,但我仍然遇到问题。在文档中,他们说您可以这样做以将 class 绑定到 JS 表达式,甚至绑定多个 classes.

<div
  class="static"
  v-bind:class="{ active: isActive, 'text-danger': hasError }"
></div>

我传递了一个名为 injectedClass 的道具和一个名为 isDisabled 的道具。这是我的按钮:

<button
    :disabled="isDisabled"
    :class="{ injectedClass, disabled: isDisabled }"
    @click.stop="handleClick"
  >
    {{ text }}
  </button>

禁用的 class 按我的预期应用,但未应用我通过的 injectedClass。如果我这样做,将应用 injectedClass

<button
    :disabled="isDisabled"
    :class="injectedClass"
    @click.stop="handleClick"
  >
    {{ text }}
  </button>

如果我这样做,它甚至不起作用:

:class="(injectedClass, { disabled: isDisabled })"

我的问题是如何将我传递的 class 应用到我的组件并有条件地应用我禁用的 class?

只需使用一个array syntax

:class="[injectedClass, { disabled: isDisabled }]"