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中Array 对象相关的几个方法
Dec 22 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
Nov 28 Javascript
使用JS CSS去除IE链接虚线框的三种方法
Nov 14 Javascript
js实现图片轮播效果
Dec 19 Javascript
JavaScript希尔排序、快速排序、归并排序算法
May 08 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
webpack分离css单独打包的方法
Jun 12 Javascript
微信小程序实现蒙版弹窗效果
Nov 01 Javascript
jQuery表单元素过滤选择器用法实例分析
Feb 20 jQuery
浅谈Javascript常用正则表达式应用
Mar 08 Javascript
灵活使用console让js调试更简单的方法步骤
Apr 23 Javascript
关于angular浏览器兼容性问题的解决方案
Jul 26 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脚本的10个技巧(4)
2006/10/09 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
laravel 框架配置404等异常页面
2019/01/07 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
2019/06/14 PHP
javascript iframe中打开文件,并检测iframe存在否
2008/12/28 Javascript
详谈 Jquery Ajax异步处理Json数据.
2011/09/09 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
Javascript表格翻页效果实现思路及代码
2013/08/23 Javascript
JavaScript 命名空间 使用介绍
2013/08/29 Javascript
基于jQuery实现表格内容的筛选功能
2016/08/21 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
JavaScript实现简单生成随机颜色的方法
2017/09/21 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
js实现图片放大并跟随鼠标移动特效
2019/01/18 Javascript
详解使用mocha对webpack打包的项目进行&quot;冒烟测试&quot;的大致流程
2020/04/27 Javascript
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
解决Python print输出不换行没空格的问题
2018/11/14 Python
python+PyQT实现系统桌面时钟
2020/06/16 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
python使用zip将list转为json的方法
2018/12/31 Python
安装Pycharm2019以及配置anconda教程的方法步骤
2019/11/11 Python
解决django xadmin主题不显示和只显示bootstrap2的问题
2020/03/30 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
ghd澳大利亚官方网站:英国最受欢迎的美发工具品牌
2018/05/21 全球购物
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
澳大利亚买卖正宗二手奢侈品交易平台:Luxe.It.Fwd
2019/10/16 全球购物
Java里面Pass by value和Pass by Reference是什么意思
2016/05/02 面试题
护士辞职信模板
2014/01/20 职场文书
家长评语大全
2014/01/22 职场文书
Ajax常用封装库——Axios的使用
2021/05/08 Javascript
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS