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功能的正确方法(译文)
Apr 12 Javascript
js修改input的type属性问题探讨
Oct 12 Javascript
javascript相等运算符与等同运算符详细介绍
Nov 09 Javascript
jquery选择器原理介绍($()使用方法)
Mar 25 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
JS回调函数基本定义与用法实例分析
May 24 Javascript
浅析vue.js数组的变异方法
Jun 30 Javascript
在vue中使用v-bind:class的选项卡方法
Sep 27 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 Javascript
js canvas实现星空连线背景特效
Nov 01 Javascript
js实现点击生成随机div
Jan 16 Javascript
vue单元格多列合并的实现
Nov 26 Vue.js
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将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍
2012/11/08 Javascript
JavaScript知识点总结(十六)之Javascript闭包(Closure)代码详解
2016/05/31 Javascript
js实现碰撞检测特效代码分享
2016/10/16 Javascript
Bootstrap导航条的使用和理解3
2016/12/14 Javascript
Vue2 使用 Echarts 创建图表实例代码
2017/05/18 Javascript
基于JavaScript实现数码时钟效果
2020/03/30 Javascript
webpack external模块的具体使用
2018/03/10 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
vue2.0 实现导航守卫(路由守卫)
2018/05/21 Javascript
vue中使用input[type=&quot;file&quot;]实现文件上传功能
2018/09/10 Javascript
微信小程序发布新版本时自动提示用户更新的方法
2019/06/07 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
[23:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第二场 6.2
2018/06/03 DOTA
django模型中的字段和model名显示为中文小技巧分享
2014/11/18 Python
解决Python字典写入文件出行首行有空格的问题
2017/09/27 Python
Python numpy实现数组合并实例(vstack,hstack)
2018/01/09 Python
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
python实现点对点聊天程序
2018/07/28 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
2018/09/17 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
详解Django模版中加载静态文件配置方法
2019/07/21 Python
python类的实例化问题解决
2019/08/31 Python
python 实现单通道转3通道
2019/12/03 Python
美国轮胎网站:Priority Tire
2018/11/28 全球购物
法国在线药房:1001Pharmacies
2021/03/07 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
2013年入党人员的自我鉴定
2013/10/25 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
2014年度考核工作总结
2014/12/24 职场文书
艺术节开幕词
2015/01/28 职场文书
外国人来华邀请函
2015/01/31 职场文书
使用Django实现商城验证码模块的方法
2021/06/01 Python
MySQL表类型 存储引擎 的选择
2021/11/11 MySQL