- Vue2 和 Vue3 双向绑定方法不同
- 总结 vue3中没有$set
Vue2 和 Vue3 双向绑定方法不同
Vue2 : Object.defineProperty()
Vue3 : new Proxy()
vue3 实例
数据会更新
const addBtn = () =>{obj.c = 3;
}
vue2实例
问题:数据更新了视图没更新
Object.defineProperty()
导致
解决方法:this.$set
methods:{addBtn(){//数据更新了视图没更新//this.obj.c = 3;//console.log( this.obj );this.$set( this.obj , 'c' , 3) }
}
总结 vue3中没有$set
let data = {a : 1,b: 2
}let vue = {}for( let k in data ){Object.defineProperty(vue, k,{get(){console.log(获取了); return data[k];},set(){}})
}