var vm = new Vue({
data: {
items: [],
item:{}
},
methods: {
//这个item 是items中的某一个
editItem:function (item) {
this.item = item;
//修改item 会导致items中的数据也被修改了
}
}
请问下如何实现,修改item而items不变?
引用类型在内存中是指向同一个内存,只是用简单的
this.item = item
进行赋值的话两个看起来不同的变量实际上指向的是同一个内存,也就造成“双向绑定”的错觉,并非Vue造成的。解决方案:
1、Object深拷贝:如楼上所述;
2、使用
json.parse
: