代理data中的属性

2021-08-17  本文已影响0人  JX灬君

将data中所有属性代理到vm上

arr:{a:1,b:2}
实现vm._data.arr = vm.arr = {a:1,b:2}

//将data中的属性代理到vm  上
for(let key in data){
    proxy(vm,"_data",key)
}
function proxy(vm,data,key){
  // 将key代理到vm的属性上,实现vm._data.arr = vm.arr
  Object.defineProperty(vm,key{
    get(){
        return vm[data][key]
     },
     set(newValue){
        vm[data][key] = newValue
      }
  })
}
上一篇 下一篇

猜你喜欢

热点阅读