vue实现选中效果

编程学习 2021-07-04 14:06www.dzhlxh.cn编程入门
本文给大家分享的是如何使用vue实现鼠标点击选中的效果,附上了实例代码,有需要的小伙伴可以参考下

前情提要

好久没有写Vue了,略有生疏,这个东西还是得多用。

下午看到一个需求,选择相册图片作为轮播图显示。接口返回相册列表,用户选一下再扔回去。

直到我看到e.target.className我就知道这个事情不简单。。

Vue是数据驱动

数据驱动这个是我觉得和jQuery不一样的地方。

jQuery是点一下,加个class,移个class。

Vue是点一下,数据记录,然后自动通知视图。

一个是把选中状态保存在了DOM,一个是把选中状态保存在了js数据模型里。

所以在看到了使用Vue然后获取DOM改class的行为,我及时制止了他。话说你都自己搞了,要Vue干嘛。。。

数据驱动和之前的思想 在一起会怎么样?

数据驱动是一个数据到视图的过程,如果你只改视图不改数据。那么他在其他的地方刷新了数据,就有可能导致视图不同步。比如写的时候写了,那么读的时候读出来的有可能不一样,为什么会这样?因为有两个地方可以改呀,Vue把DOM删了,新渲染的没有你写的状态,读的时候读个鬼。想想,这一个碰运气的东西,能好使吗?

Vue怎么实现这个效果

说了那么多废话,先上地址吧, 【具体代码都在这里】

狼蚁网站SEO优化简单说说三种写法的思路

  1. 选中的id做成一个数组,多维护一个队列。:class="{selected: ~checkSelect(item.id)}"渲染的时候去判断数组里面有那个id没有。
  2. 选中的id做成一个对象,多维护一个对象。:class="{selected: selectList[item.id]}"和前一个相比对象的话,id作为key查找起来方便了很多。这里要注意的是.$set,划重点要考的。
  3. 直接改原对象,多加一个参数。这个不怎么推荐。

到此这篇关于vue实现选中效果的文章就介绍到这了,更多相关vue选中效果内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!

Copyright © 2016-2025 www.dzhlxh.cn 金源码 版权所有 Power by

网站模板下载|网络推广|微博营销|seo优化|视频营销|网络营销|微信营销|网站建设|织梦模板|小程序模板