今天写一个拖动然后使装备交换的功能,在背包格子里

发现直接设置Bags数组的项,v-for渲染出来的列表不会对应改变,只有设置值才会改变

有点拗口,贴代码吧

var repear = this.Bags[a].num;
this.Bags[a] = this.Bags[b];
this.Bags[b] = repear;

这样是不能响应改变视图的

但是改变其中的值却可以

var repear = this.Bags[a].num;

this.Bags[a].num = event.target.id
this.Bags[b].num = repear;

但是由于我后面要用到的装备属性非常多,而不是只有一个ID

所以如果改值会非常麻烦

后来查了查VUE文档,发现本来就有说明这点

VUE v-for问题-LMLPHP

05-04 08:10