From a3ce6627d271bb24b0b31cf13383d5f4be49e0d4 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 13 Oct 2020 11:24:31 +0800 Subject: [PATCH 01/10] =?UTF-8?q?JavaScript=EF=BC=9AProxy=20=E4=B8=8E=20Re?= =?UTF-8?q?flect?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.vue | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/app/app.vue b/src/app/app.vue index 74c5c43..84ab4cf 100644 --- a/src/app/app.vue +++ b/src/app/app.vue @@ -9,9 +9,41 @@ export default { name: '宁皓网', }; }, + + created() { + const user = { + name: '宁皓网', + }; + + const handler = { + get(target, property) { + return target[property]; + }, + + set(target, property, value) { + if (property === 'name') { + if (value.length > 10) { + throw new Error('名字太长了!'); + } + } + + return Reflect.set(target, property, value); + }, + }; + + const userProxy = new Proxy(user, handler); + + try { + userProxy.name = 'NINGHAONINGHAO'; + } catch (error) { + console.log('错误:', error.message); + } + + console.log(userProxy.name); + }, }; \ No newline at end of file + -- Gitee From c912b6ffd5b0a9b9696b89abcc2e332e9bab5c11 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 13 Oct 2020 13:03:21 +0800 Subject: [PATCH 02/10] =?UTF-8?q?=E7=90=86=E8=A7=A3=20Vue=20=E7=9A=84?= =?UTF-8?q?=E5=8F=8D=E5=BA=94=E6=80=A7=E7=B3=BB=E7=BB=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.vue | 32 ++------------------------------ 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/src/app/app.vue b/src/app/app.vue index 84ab4cf..22d3350 100644 --- a/src/app/app.vue +++ b/src/app/app.vue @@ -1,5 +1,5 @@ -- Gitee From 655eaa548cb1131f9f46762e3f77dad3b4578498 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 13 Oct 2020 13:08:44 +0800 Subject: [PATCH 03/10] =?UTF-8?q?Composition=20API=EF=BC=9A=E7=BB=84?= =?UTF-8?q?=E5=90=88=E5=BC=8F=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.vue | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/app/app.vue b/src/app/app.vue index 22d3350..2962608 100644 --- a/src/app/app.vue +++ b/src/app/app.vue @@ -4,15 +4,13 @@ -- Gitee From 0456af60dc6f685706faadac7120206580b418e8 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 13 Oct 2020 14:06:09 +0800 Subject: [PATCH 04/10] =?UTF-8?q?=E5=A3=B0=E6=98=8E=E5=85=B7=E6=9C=89?= =?UTF-8?q?=E5=8F=8D=E5=BA=94=E7=89=B9=E6=80=A7=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=88ref=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/app/app.vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/app/app.vue b/src/app/app.vue index 2962608..8ac1ef0 100644 --- a/src/app/app.vue +++ b/src/app/app.vue @@ -3,9 +3,13 @@