纯净、安全、绿色的下载网站

首页|软件分类|下载排行|最新软件|IT学院

当前位置:首页IT学院IT技术

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

  2021-04-02 我要评论

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

 

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

分析原因

<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列表数据发生变化指令没有更新问题及解决方法希望对大家有所帮助如果大家有任何疑问请给我留言小编会及时回复大家的在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助欢迎转载烦请注明出处谢谢!

您可能感兴趣的文章:

相关文章

猜您喜欢

  • Python 日期的转换及计算的具体使用详解

    想了解Python 日期的转换及计算的具体使用详解的相关内容吗在本文为您仔细讲解的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Python,日期转换及计算,Python,日期转换下面大家一起来学习吧..
  • Java并发CopyOnWrite容器原理解析

    想了解Java并发CopyOnWrite容器原理解析的相关内容吗在本文为您仔细讲解的相关知识和一些Code实例欢迎阅读和指正我们先划重点:Java,并发,CopyOnWrite,容器下面大家一起来学习吧..

网友评论

Copyright 2020 www.gamerfx.net 【游戏天空】 版权所有 软件发布

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 点此查看联系方式