vue数据响应式原理知识点总结

2020-06-16 06:56:32易采站长站整理

arr.forEach((method, index)=>{
arrob[method] = function(){
var ret = arraypro[method].apply(this,arguments);
dep.notify();
}
})

vue3.0数据响应式原理 – Proxy

Proxy对象用于定义基本操作的自定义行为 ,用于修改某些操作的默认行为,等同于在语言层面做出修改,所以属于一种“元编程”(meta programming),即对编程语言进行编程。

  和defineProperty类似,功能几乎一样,但是用法不同


为什么要是用Procy?
1、defineProperty只能监听某个属性,不能对全对象监听
2、所以可以省去 for in 提升效率
3、可以监听数组,不用再去单独对数组做特异性操作


改造的observer:

vue.prototype.observer = function(obj){ //注册get/set监听
var self = this;
this.$data = new Proxy(this.$data, {
get: function(target, key, receiver){
return target[key] },
set: function(target, key, value, receiver){
// return Reflect.set(target, key, value);
// return target[key] = value
target[key] = value;
self.render();
}
})
}

Proxy 用途 — 校验类型 — 真正的私有变量

Diff算法和virtua doml

//1-对象 2-属性 3-对于属性的一系列配置

以上就是小编给大家整理的全部相关知识点,感谢大家的学习如果有任何疑问可以联系软件开发网小编。