界面如下:
要求:点击“上移”“下移”,两个题目会对换。
我给“上移”加了个点击事件:
up:function(n){//n为下标
let t = this.formData[n-1];
this.formData[n-1] = this.formData[n];
this.formData[n] = t;
console.log(this.formData);
},
最后我将数据打印出来,位置确实换了,但是界面没有变 这是为什么啊?
界面如下:
要求:点击“上移”“下移”,两个题目会对换。
我给“上移”加了个点击事件:
up:function(n){//n为下标
let t = this.formData[n-1];
this.formData[n-1] = this.formData[n];
this.formData[n] = t;
console.log(this.formData);
},
最后我将数据打印出来,位置确实换了,但是界面没有变 这是为什么啊?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
vue的双向绑定数据机制导致无法直接用下标操作数组
详情参考→https://cn.vuejs.org/v2/guide...
为了解决第一类问题,以下两种方式都可以实现和 vm.items[indexOfItem] = newValue 相同的效果,同时也将触发状态更新:
你也可以使用 vm.$set 实例方法,该方法是全局方法 Vue.set 的一个别名: