vue动态绑定class练习。
:class=“{ ‘类名1\':条件表达式,‘类名2\':条件表达式… }”
<template>
<div class=\"app-*\">
<ul>
<li
v-for=\"(item,i) of list\"
:key=\"i\"
class=\"item\"
@click=\"clickIndex=i\"
:class=\"{\'click\':i==clickIndex}\"
></li>
</ul>
</div>
</template>
< >
export default {
data() {
return {
list: [1, 2, 3, 4],
clickIndex: -1
};
},
methods: {}
};
</ >
<style scoped>
.item {
display: inline-block;
width: 100px;
height: 100px;
cursor: pointer;
border: 1px solid black;
}
.item:hover {
background: gray;
}
.item.click {
background: red;
}
</style>
补充:vue之v-for中给每个item动态绑定class,动态添加元素,动态删除某个元素的实现
主要解决了在v-for时,如何给每个item添加动态的样式,即是说,鼠标滑动到某一项时,可以单独改变某一项的样式,同时添加按钮等操作。以及删除某一项的操作。
<template>
<div class=\"hello\">
<ul>
<li v-for=\"(item, itemIndex) in test\"
:key=\"item.id\"
:class=\"{defaultClass: itemIndex === isActive}\"
@mouseenter=\" (itemIndex)\"
@mouseleave=\" \">
{{ itemIndex+1 }} :{{ item. }}
<button v-if=\"isActive === itemIndex\" @click=\"deleteItem(itemIndex)\">删除({{itemIndex+1}})</button>
</li>
</ul>
</div>
</template>
< >
export default {
name: \'HelloWorld\',
data () {
return {
test: [
{
id: 1,
: \' first\'
},
{
id: 2,
: \' second\'
},
{
id: 3,
: \' third\'
}
],
isActive: \'\'
}
},
methods: {
(index) {
this.isActive = index
},
() {
this.isActive = \'\'
},
deleteItem(index) {
this.test.splice(index, 1)
}
},
computed: {
}
}
</ >
<!-- Add \"scoped\" attribute to limit CSS to this component only -->
<style scoped>
h1, h2 {
font-weight: normal;
}
ul {
list-style-type: none;
padding: 0;
}
li {
/* display: inline-block; */
margin:10px;
}
a {
color: #42b983;
}
.defaultClass{
background-color: red;
}
</style>
总结
以上所述是小编给大家介绍的vue中v-for通过动态绑定class实现触发效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
继续阅读与本文标签相同的文章
上一篇 :
Sublime Text的安装与配置
-
我家的小猫咪
2026-05-19栏目: 教程
-
如何创建云企业网
2026-05-19栏目: 教程
-
Spring 社区的唯一一个国产开源项目 - Spring Cloud Alibaba 毕业了
2026-05-19栏目: 教程
-
Spring Cloud和Dubbo,孰优孰劣
2026-05-19栏目: 教程
-
Java锁---偏向锁、轻量级锁、自旋锁、重量级锁
2026-05-19栏目: 教程
