当前位置: 首页 > Web前端 > HTML

vue实现选择效果

时间:2023-04-02 11:57:33 HTML

很久没写vue了,有点生疏了。这东西还是比较有用的。下午看到一个需求,选择了相册图片作为轮播展示。接口返回相册列表,用户选中后抛出。直到我看到e.target.className我才知道这并不容易。.Vue是数据驱动的,数据驱动的。这是我认为与jQuery不同的地方。jQuery是点击,添加一个类,移动一个类。vue点击,记录数据,然后自动通知视图。一种是将选中状态保存在DOM中,另一种是将选中状态保存在js数据模型中。所以在看到使用Vue然后获取DOM改变class的行为后,及时制止了他。换句话说,你自己做的,你为什么要Vue。..数据驱动和先验思维结合在一起怎么样?数据驱动是从数据到视图的过程,如果你只改变视图而不改变数据。然后他在其他地方刷新数据,可能会导致视图不同步。比如你写的时候写的,读的时候可能就不一样了。为什么会这样?因为有两个地方可以改,vue删除了DOM,新渲染的没有你写的state,所以读的时候会鬼。想一想,这幸运的事情能奏效吗?Vue是如何实现这种效果的呢?废话说了这么多,先上地址,传送门——我写的demo。下面简单说说三种写法。将选中的id做成数组,多维护一个队列。:class="{selected:~checkSelect(item.id)}"用于判断渲染时id是否存在于数组中。将选中的id做成一个对象,再维护一个对象。:class="{selected:selectList[item.id]}"相比之前的object,id作为key查找起来方便多了。这里要注意的是.$set,需要重点考虑。直接改变原来的对象,再加一个参数。不推荐这样做。等我写完代码,写完文章,需求变了。不舒服。...更改代码。...等我写完代码,写完文章,需求变了。不舒服。...更改代码。...等我写完代码,写完文章,需求变了。不舒服。...更改代码。...