vue中v-for通过动态绑定class实现触发效果


Posted in Javascript onDecember 06, 2018

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>

<script>
export default {
 data() {
  return {
   list: [1, 2, 3, 4],
   clickIndex: -1
  };
 },
 methods: {}
};
</script>
<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="onMouseEnter(itemIndex)" 
        @mouseleave="onMouseLeave">
       {{ itemIndex+1 }} :{{ item.title }}
       <button v-if="isActive === itemIndex" @click="deleteItem(itemIndex)">删除({{itemIndex+1}})</button>
     </li>
   </ul>
 </div>
</template>
<script>
export default {
 name: 'HelloWorld',
 data () {
  return {
   test: [
     {   
       id: 1,
       title: 'title first'
     },
     {
       id: 2,
       title: 'title second'
     },
     {
       id: 3,
       title: 'title third'
     }
   ],
   isActive: ''
  }
 },
 methods: {
   onMouseEnter(index) {
     this.isActive = index
   },
   onMouseLeave() {
     this.isActive = ''
   },
   deleteItem(index) {
     this.test.splice(index, 1)
   }
 },
 computed: {
   
 }
}
</script>

<!-- 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实现触发效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
异步javascript的原理和实现技巧介绍
Nov 08 Javascript
jquery获取div宽度的实现思路与代码
Jan 13 Javascript
JQuery的ON()方法支持的所有事件罗列
Feb 28 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
javascript中html字符串转化为jquery dom对象的方法
Aug 27 Javascript
JQuery PHP图片在线裁剪实例
Jul 27 Javascript
angularjs ui-router中路由的二级嵌套
Mar 10 Javascript
javascript 中iframe高度自适应(同域)实例详解
May 16 Javascript
最基础的vue.js双向绑定操作
Aug 23 Javascript
详解Vue打包优化之code spliting
Apr 09 Javascript
echarts饼图各个板块之间的空隙如何实现
Dec 01 Javascript
JavaScript实现瀑布流布局的3种方式
Dec 27 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
Dec 06 #Javascript
Vue-CLI3.x 设置反向代理的方法
Dec 06 #Javascript
JavaScript中引用vs复制示例详析
Dec 06 #Javascript
使用jQuery动态设置单选框的选中效果
Dec 06 #jQuery
express+vue+mongodb+session 实现注册登录功能
Dec 06 #Javascript
如何使用puppet替换文件中的string
Dec 06 #Javascript
详解vantUI框架在vue项目中的应用踩坑
Dec 06 #Javascript
You might like
提升PHP执行速度全攻略(下)
2006/10/09 PHP
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
php使用函数pathinfo()、parse_url()和basename()解析URL
2016/11/25 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
PHP mysqli事务操作常用方法分析
2017/07/22 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
2013/11/05 Javascript
jquery插件tooltipv顶部淡入淡出效果使用示例
2013/12/05 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
2016/03/04 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
想用好React的你必须要知道的一些事情
2017/07/24 Javascript
vue2 前端搜索实现示例
2018/02/26 Javascript
Vue2.0点击切换类名改变样式的方法
2018/08/22 Javascript
使用jquery Ajax实现上传附件功能
2018/10/23 jQuery
深入了解query和params的使用区别
2019/06/24 Javascript
微信小程序音乐播放器开发
2019/11/20 Javascript
js模拟实现烟花特效
2020/03/10 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
numpy.ndarray 交换多维数组(矩阵)的行/列方法
2018/08/02 Python
Django框架表单操作实例分析
2019/11/04 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
Python数据可视化实现多种图例代码详解
2020/07/14 Python
python和node.js生成当前时间戳的示例
2020/09/29 Python
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
大课间活动制度
2014/01/18 职场文书
四年大学自我鉴定
2014/02/17 职场文书
篮球比赛拉拉队口号
2014/06/10 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
毕业酒会致辞
2015/07/29 职场文书
思品教学工作总结
2015/08/10 职场文书
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA