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实现倒计时时钟的示例代码
Dec 17 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
封装了jQuery的Ajax请求全局配置
Feb 05 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
详解JavaScript逻辑And运算符
Dec 04 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
Jul 07 Javascript
jQuery+HTML5实现弹出创意搜索框层
Dec 29 Javascript
zTree树形菜单交互选项卡效果的实现方法
Dec 25 Javascript
图文介绍Vue父组件向子组件传值
Feb 17 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
Dec 15 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
一个好用的分页函数
2006/11/16 PHP
10个实用的PHP代码片段
2011/09/02 PHP
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
js精度溢出解决方案
2012/12/02 Javascript
jquery 获取标签名(tagName)示例代码
2013/07/11 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
深入理解javascript原型链和继承
2014/09/23 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
详解javascript实现瀑布流列式布局
2016/01/29 Javascript
再次谈论Javascript中的this
2016/06/23 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
修改Jquery Dialog 位置的实现方法
2016/08/26 Javascript
Jquery Easyui选项卡组件Tab使用详解(10)
2016/12/18 Javascript
原生JavaScript实现AJAX、JSONP
2017/02/07 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python3解决棋盘覆盖问题的方法示例
2017/12/07 Python
基于python的Paxos算法实现
2019/07/03 Python
浅析Python3 pip换源问题
2020/01/06 Python
Python函数式编程实例详解
2020/01/17 Python
Python如何用filter函数筛选数据
2020/03/05 Python
Python打印特殊符号及对应编码解析
2020/05/07 Python
使用Python构造hive insert语句说明
2020/06/06 Python
CSS3制作文字半透明倒影效果的两种实现方式
2014/08/08 HTML / CSS
配置H5的滚动条样式的示例代码
2018/03/09 HTML / CSS
加拿大最大的书店:Indigo
2017/01/01 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
一套中级Java程序员笔试题
2015/01/14 面试题
医学护理毕业生自荐信
2013/11/07 职场文书
小学生运动会通讯稿
2014/09/23 职场文书
2014年党委工作总结
2014/11/22 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python