vue列表数据发生变化指令没有更新问题及解决方法


Posted in Javascript onJanuary 16, 2020

问题描述,在vue的for循环中使用了指令,然后对数据进行筛选的时候,发现指令没有起作用。

vue列表数据发生变化指令没有更新问题及解决方法 

如图前面的图标是根据文件名的后缀名,返回响应图标的,通过指令实现的。然后我们在搜索框中删选以后,数据更新了,但是图标没有更新

分析原因

<div v-for="(item, index) in myDate" :key='index'>
...
</div>

问题就出在了:key='index'因为vue中for循环是根据key的值的变化来更新vnode的,很显然我们经过筛选如果删选出三条数据,那么index = 0, 1, 2没有变化,所以vnode没有更新

解决办法1:我们设置:key的时候最好使用每条数据的id这样就是唯一的,每次筛选,vnode都会更新。

解决办法2:在指令中设置

// 添加bind设置
bind: function (el, binding, vnode) {
 // bind中的vnode里面的key可以给设置一个随机数,这样每次都会更新虚拟节点。
 let num = parseInt(Math.random() * 10)
 vnode.key = num
},
inserted: ...

总结

以上所述是小编给大家介绍的vue列表数据发生变化指令没有更新问题及解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
对象的类型:本地对象(1)
Dec 29 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
jquery防止重复执行动画避免页面混乱
Apr 22 Javascript
javascript中的throttle和debounce浅析
Jun 06 Javascript
JS禁用页面上所有控件的实现方法(附demo源码下载)
Dec 17 Javascript
Vue.JS入门教程之事件监听
Dec 01 Javascript
深入理解React Native原生模块与JS模块通信的几种方式
Jul 24 Javascript
JavaScript实现写入文件到本地的方法【基于FileSaver.js插件】
Mar 15 Javascript
vue axios 表单提交上传图片的实例
Mar 16 Javascript
详解JavaScript添加给定的标签选项
Sep 17 Javascript
vue-router启用history模式下的开发及非根目录部署方法
Dec 23 Javascript
小程序文字跑马灯效果
Dec 28 Javascript
使用Karma做vue组件单元测试的实现
Jan 16 #Javascript
js实现div色块拖动录制
Jan 16 #Javascript
微信小程序实现二维码签到考勤系统
Jan 16 #Javascript
解决vue+ element ui 表单验证有值但验证失败问题
Jan 16 #Javascript
JavaScript实现简单的计算器
Jan 16 #Javascript
js面向对象之实现淘宝放大镜
Jan 15 #Javascript
js实现简单的打印表格
Jan 15 #Javascript
You might like
用PHP和ACCESS写聊天室(六)
2006/10/09 PHP
ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法
2018/09/26 PHP
XHTML-Strict 内允许出现的标签
2006/12/11 Javascript
jquery Mobile入门—外部链接切换示例代码
2013/01/08 Javascript
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
JavaScript设计模式之单件模式介绍
2014/12/28 Javascript
js实现分割上传大文件
2016/03/09 Javascript
JQuery Mobile实现导航栏和页脚
2016/03/09 Javascript
JavaScript制作简单的日历效果
2016/03/10 Javascript
移动端界面的适配
2017/01/11 Javascript
bootstrap中的 form表单属性role=&quot;form&quot;的作用详解
2017/01/20 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
解决Extjs下拉框不显示的问题
2017/06/21 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
Python设置默认编码为utf8的方法
2016/07/01 Python
linux平台使用Python制作BT种子并获取BT种子信息的方法
2017/01/20 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
Python增强赋值和共享引用注意事项小结
2019/05/28 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
python 魔法函数实例及解析
2019/09/25 Python
Django Form设置文本框为readonly操作
2020/07/03 Python
Python urllib库如何添加headers过程解析
2020/10/05 Python
使用CSS3来实现滚动视差效果的教程
2015/08/24 HTML / CSS
中国最大的团购网站:聚划算
2016/09/21 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
XMLHttpRequest对象在IE和Firefox中创建方式有没有不同
2016/03/23 面试题
演讲稿格式
2014/04/30 职场文书
校外活动方案
2014/08/28 职场文书