详解Proxy——更强大的代理与数据拦截

zhuanbike 2022-3-9 709

vue3的数据劫持:

1.数据劫持 。 2、观察者 。 3、数据解析 {{}}指定 dif对象 -dom 

关于Proxy的官方文档:

proxy要中的两个参数 

1,要操作的对象 要使用 Proxy 包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。

2,一个通常以函数作为属性的对象,各属性中的函数分别定义了在执行各种操作时代理 p 的行为。

举例 getter:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/get

get中的三个参数:

target

目标对象。

property

被获取的属性名。

receiver

Proxy或者继承Proxy的对象


关于setter语法:

const p = new Proxy(target, {
  set: function(target, property, value, receiver) {
  }
});

参数

以下是传递给 set() 方法的参数。this 绑定在 handler 对象上。

target

目标对象。

property

将被设置的属性名或 Symbol。

value

新属性值。

receiver

最初被调用的对象。通常是 proxy 本身,但 handler 的 set 方法也有可能在原型链上,或以其他方式被间接地调用(因此不一定是 proxy 本身)。


最新回复 (1)
  • zhuanbike 2022-3-9
    0 引用 2
    这个proxy还是很重要的,找一个讲的很明白的B站视频,忘了就来复习看看

    https://www.bilibili.com/video/BV1Jq4y177Fi?p=2&spm_id_from=pageDriver
发新帖