开发中碰到的需求如下:
参考vue官方文档,没有找到。文档针对class的对象语法是在明确属性名的情况下,通过true or false动态显示class名,class名是固定的,针对class的数组语法虽然class名是动态的,但不适用v-for循环。
而本例是在v-for循环中实现class名动态(赋变量值)。
代码如下:
<template>
<div class="qq_face faceout">
<a v-for="(value, key) in stack.faceData" :key="key" :title="value" :class="setClass(key)" @click="faceImgSel(value)">{{value}}</a>
<!-- 将class值赋给方法,动态生成对象 -->
</div>
</template>
export default {
methods: {
setClass(key) {
let obj = {face: true}
obj[`qqface${key}`] = true
return obj
},
}