I have this div in my Field.vue component template:
<div class="field"
:class="{
'has-bomb': field.hasBomb && field.isOpen,
'is-open': field.isOpen,
'is-marked': field.isMarked
}"></div>
Now I have a computed that creates a String based on field.x and field.y like this:
computed: {
cssClass () {
return `x${this.field.x}-y${this.field.y}`
}
}
How can I add that generated String as a CSS class to my div?
I tried
<div class="field"
:class="{
'has-bomb': field.hasBomb && field.isOpen,
'is-open': field.isOpen,
'is-marked': field.isMarked,
cssClass
}"></div>
and also
<div class="field"
:class="{
'has-bomb': field.hasBomb && field.isOpen,
'is-open': field.isOpen,
'is-marked': field.isMarked,
cssClass: true
}"></div>
but that just gives me
<div class="field cssClass"></div>
instead of what I need, e.g.:
<div class="field x3-y10"></div>
thisin the template in Vue.js.Error compiling template: - invalid expression: Unexpected token } in { 'has-bomb': field.hasBomb && field.isOpen, 'is-open': field.isOpen, 'is-marked': field.isMarked, cssClass() }changes to ´Unexpected token :` when I trycssClass(): true