vue3控制台打印出Proxy(Array) {0: Proxy(Object), 1: Proxy(Object)} [[Handler]] : Object [[Target]] : Array(2) 0 : Proxy(Object) {__v_skip: true, isValuedate: ƒ} 1 : Proxy(Object) {__v_skip: true, isValuedate: ƒ} length : 2 [[Prototype]] : Array(0) [[IsRevoked]] : false,怎么获取到里面的isValuedate方法
时间: 2024-02-16 19:02:55 浏览: 258
你可以通过访问`Proxy`对象的属性来获取到包装的目标对象中的属性或方法。在你的例子中,你可以通过以下方式获取到包装的目标对象中的`isValuedate`方法:
```javascript
const obj = new Proxy([
{__v_skip: true, isValuedate: () => console.log('isValuedate 1')},
{__v_skip: true, isValuedate: () => console.log('isValuedate 2')}
], {});
console.log(obj); // Proxy(Array) {0: Proxy(Object), 1: Proxy(Object)}
console.log(obj[0].isValuedate); // ƒ isValuedate() { console.log('isValuedate 1'); }
console.log(obj[1].isValuedate); // ƒ isValuedate() { console.log('isValuedate 2'); }
```
在上面的代码中,我们通过创建一个`Proxy`对象来包装一个数组对象。然后,我们可以通过访问`obj[0].isValuedate`和`obj[1].isValuedate`来获取到包装的目标对象中的`isValuedate`方法。
需要注意的是,如果你在访问`Proxy`对象的属性时没有指定相应的`get`或`set`处理函数,那么默认情况下会返回包装的目标对象中对应属性的值。所以在上面的例子中,我们可以直接访问`obj[0].isValuedate`和`obj[1].isValuedate`来获取到对应的方法。
阅读全文