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 相关文章推荐
js 动态为textbox添加下拉框数据源的方法
Apr 24 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
May 22 Javascript
node实现登录图片验证码的示例代码
Apr 20 Javascript
让Vue也可以使用Redux的方法
May 23 Javascript
react中实现搜索结果中关键词高亮显示
Jul 31 Javascript
从零开始学习搭建React脚手架项目
Aug 23 Javascript
微信小程序实现带参数的分享功能(两种方法)
May 17 Javascript
Vue.js组件实现选项卡以及切换特效
Jul 24 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
Sep 21 Javascript
javascript实现滚动条效果
Mar 24 Javascript
解决Vue watch里调用方法的坑
Nov 07 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查询搜索引擎排名位置的代码
2010/01/05 PHP
手把手编写PHP框架 深入了解MVC运行流程
2016/09/19 PHP
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
javascript检测对象中是否存在某个属性判断方法小结
2013/05/19 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
浅谈vue中使用图片懒加载vue-lazyload插件详细指南
2017/10/23 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
pageGroup.js实现分页功能
2019/07/27 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
利用python求解物理学中的双弹簧质能系统详解
2017/09/29 Python
Django REST Framework之频率限制的使用
2019/09/29 Python
Python基于stuck实现scoket文件传输
2020/04/02 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
Python实现扫码工具的示例代码
2020/10/09 Python
纯CSS3实现绘制各种图形实现代码详细整理
2012/12/26 HTML / CSS
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
CPB肌肤之钥美国官网:Clé de Peau Beauté
2017/09/05 全球购物
有机童装:Toby Tiger
2018/05/23 全球购物
尼克松手表官网:Nixon手表
2019/03/17 全球购物
如何估计一张表的大小(假设该表中有1万条数据)
2016/03/27 面试题
公务员个人自我评价分享
2013/11/06 职场文书
初中英语教学反思
2014/01/25 职场文书
简单租房协议书
2014/04/09 职场文书
最常使用的求职信
2014/05/25 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
《中国梦我的梦》小学生演讲稿
2014/08/20 职场文书
社会实践单位意见
2015/06/05 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
python中24小时制转换为12小时制的方法
2021/06/18 Python
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server