【发布时间】:2020-07-25 12:50:54
【问题描述】:
Google 已经帮不了我了。
我在 Vue 中有这样的模板:
<template>
<button
:class="{ 'button-selected': isSelected }">
</button>
</template>
在我尝试使用 CSS 模块之前,一切都很好:
<template>
<button
:class="{ styles['button-selected']: isSelected }">
</button>
</template>
...
import styles from "./Button.scss"
...
data () {
return {
styles
}
}
当然。我不能使用它,因为
let obj = { style['button-selected']: this.isSelected }
也是无效的表达方式。
我找到了临时解决方案:
<template>
<button
:class="classes">
</button>
</template>
...
computed: {
classes () {
let obj = {}
obj[this.styles['button-selected']] = this.isSelected
return obj
}
}
但由于我使用这种模式,我需要为每个元素创建一个计算属性。
我正在尝试另一种方法。
提前感谢您的帮助。
【问题讨论】:
标签: javascript css vue.js vuejs2 vue-component