开发中碰到的需求如下:

如何实现?参考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
        },
    }
}

类似的,如果希望传的不是key,而是value值,只要改传参就好。

Logo

前往低代码交流专区

更多推荐