使用vue中的指令,当列表数据发生变化时指令不更新
问题描述。在vue的for循环中使用指令,然后过滤数据的时候,发现指令不起作用。如上图所示,根据文件名后缀返回响应图标,通过指令实现。然后我们删除搜索框中的选择,数据更新了,但是图标没有更新分析原因...
问题是在:key='index'因为vue中的for循环是根据key值的变化来更新vnode的。显然,如果我们过滤后删除三条数据,那么index=0,1,2是不会改变的。所以vnode是不更新的解决方法一:我们在设置:key的时候,最好使用每条数据的id,这样是唯一的,每次筛选都会更新vnode。方案二:在命令中设置//添加bind来设置bind:function(el,binding,vnode){//bind中vnode中的key可以设置一个随机数,这样虚拟节点会在每次更新时间。让num=parseInt(Math.random()*10)vnode.key=num},插入:...