proxy思考
来源:互联网 发布:南京装饰公司排名知乎 编辑:程序博客网 时间:2024/06/05 12:34
vue从2.5版本之后开始强化typescript的支持程度,在ide方面增强对visual stadio的支持,更重要的是,双数据绑定那一块,要使用es6的proxy来代替Object.defineProperty(),吓得我赶紧看了一下es6中的proxy,首先代码:
let proxy=new Proxy({},{
get:function (target,property) {
return 35;
}
})
let obj=Object.create(proxy);
console.log(obj.qq);
let person={
name:"张三"
}
let proxyPerson=new Proxy(person,{
get:function(target,property){
if(property in target){
return target[property];
}else{
console.log("Property \"" + property + "\" does not exist.");
}
}
})
console.log(proxyPerson.name);
console.log(proxyPerson.sex);
上面的代码,可以使用proxy的get属性,set属性,监听对象的状态,使用apply来监听函数的状态,当然proxy还提供来取消监听的方法
//经过实际操作,object.observe已经不能在浏览器里支持l
// var o = {};
// function observer(changes){
// changes.forEach(function(change) {
// console.log('发生变动的属性:' + change.name);
// console.log('变动前的值:' + change.oldValue);
// console.log('变动后的值:' + change.object[change.name]);
// console.log('变动类型:' + change.type);
// });
// }
// Object.observe(o, observer);
// o.sex="男";
//可以使用apply 对方法进行拦截代理
var target = function () { return 'I am the target'; }; var handler = {
apply: function (receiver, ...args) { return 'I am the proxy';
} };
var p = new Proxy(target, handler);
console.log(p());
上面的代码,可以使用proxy的get属性,set属性,监听对象的状态,使用apply来监听函数的状态,当然proxy还提供来取消监听的方法
- proxy思考
- Proxy
- proxy
- PROXY
- Proxy
- Proxy
- Proxy
- Proxy
- Proxy
- Proxy
- proxy
- proxy
- Proxy
- Proxy
- proxy
- Proxy
- proxy
- Proxy
- 两个有序数组合并为一个有序数组
- Android踩坑日记:监听软键盘多次调用和刷新系统相册和获取所有相片
- 七大内部排序算法总结(插入排序、希尔排序、冒泡排序、简单选择排序、快速排序、归并排序、堆排序)
- 给定一个有序的链表或者数组,构造一棵二叉搜索树
- npm install 安装phantomjs时npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! phantomjs-prebuilt@2.1.15
- proxy思考
- 为大概率坚持,为小概率备份
- Caffe均值文件mean.binaryproto转mean.npy
- js正则表达式验证密码强度,必须包含数字,大写字母,小写字母,特殊字符四选三
- linux修改系统时间和时区
- java代码对xml文件进行增删改查操作
- FPGA前世今生(二)
- Get Git More
- E