首页
/
每日頭條
/
圖文
/
proxy 代理配置
proxy 代理配置
更新时间:2026-01-26 22:35:22

proxy 代理配置?Vue2實現響應式是利用了Object.defineProperty(),而到Vue3的時候實現響應式确改成了Proxy,今天小編就來聊一聊關于proxy 代理配置?接下來我們就一起去研究一下吧!

proxy 代理配置(Proxy對象代理api簡單入門)1

proxy 代理配置

前沿

Vue2實現響應式是利用了Object.defineProperty(),而到Vue3的時候實現響應式确改成了Proxy

Vue為什麼要這樣做?

主要在于Object.defineProperty()存在一些無法修複的缺陷

1、無法檢測到對象的新增和删除

<div>{{userInfo}}</div> data (){ return { userInfo:{ name:'xxx' } } }, created () { this.userInfo.age = 222 } // userInfo顯示結果 // userInfo:{ "name": 'xxx' }

2、無法監聽數組變化

<div>{{arr}}</div> data (){ return { arr:[1,2] } } }, created () { this.arr[0]=3 } // arr顯示結果 // arr:[1,2]

要解決的話,需要通過vue2的$set方法,比如

this.$set(this.userInfo,'age',222) this.$set(this.arr,0,3)

但是proxy就能很好地解決這些問題

Proxy簡介

Proxy是對象的一個代理,可以實現基本操作的攔截和自定義

// target是要代理的對象 // handle是一個容納一批特定屬性的占位符對象 const p = new Proxy(target, handler)

看起來是不是有點懵,下面我們通過這個例子來入個門

const target={ a:1 } const handler={ // get攔截 // 在這裡可以做一些日志處理 // target代理的對象 // key為對象的屬性 // 例如:p.a,那麼target就是p,key就是a get(target,key){ console.log(key '被獲取了') if(key in target){ return target[key] }else{ return '我不知道' } }, // set攔截 // 在這裡可以做一些日志處理 // target代理的對象 // key為對象的屬性 // value是設置的值 // 例如:p.a=3,那麼target就是p,key就是a,value就是3 set(target,key,value){ if(key in target){ console.log(`屬性${key}被設置了新的值${value}`) }else{ console.log(`添加了新的屬性${key},值為${value}`) } target[key]=value return true }, // delete攔截 // 在這裡可以做一些日志處理 // target代理的對象 // key為對象的屬性 // 例如:delete p.a,那麼target就是p,key就是a deleteProperty(target,key){ if(key in target){ console.log(`屬性${key}被删除了`) } delete target[key] } }

我們做一下簡單的測試

const p = new Proxy(target, handler) p.a // 輸出1 p.b // 輸出我不知道 p.a=3 // 輸出屬性a被設置了新的值3 p.b=6 // 輸出添加了新的屬性b,值為6 delete p.a // 輸出屬性a被删除了 delete p.b // 沒有任何輸出

好了Proxy的入門就講到這了

覺得效果不錯的請幫忙加個關注點個贊,經常分享前端實用開發技巧

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
推荐阅读
茶杯怎麼選茶才更好喝
茶杯怎麼選茶才更好喝
茶席布置:福臨四方紫砂壺、玻璃公道杯、景德鎮白瓷單杯君子之交淡如水,茶人之交醇如茶不知道有人有沒有發現這麼一個現象,外出餐廳就餐,餐桌上各式各樣的酒杯:白酒杯、紅酒杯、啤酒杯……不同的酒杯各司其職;現在越來越多的人喜歡喝茶,每天都要喝茶,茶...
2026-01-26
達芬奇10大詭異畫像
達芬奇10大詭異畫像
​這是我們一起探索的第156個實驗大約兩千四五百年以前我國的學者墨子做了世界上第一個小孔成倒像的實驗解釋了小孔成倒像的原因他用一個帶有小孔的闆遮擋在牆體與物之間牆體上就會形成物的倒影我們把這樣的現象叫小孔成像前後移動中間的闆牆體上像的大小也...
2026-01-26
全麥面包怎麼選比較好
全麥面包怎麼選比較好
歡迎大家觀看二姐這篇買全麥面包,并不是越貴越好,牢記這幾點的文章。本圖文為二姐美食原創作品,嚴禁轉載與抄襲。如果有美食方面的想法,歡迎大家和我交流!二姐美食,教你做家常美味。二姐心得之買全麥面包,并不是越貴越好全麥面包是我們經常買來吃的一道...
2026-01-26
成都西部綜合交通規劃
成都西部綜合交通規劃
194個重大項目、總投資超1.2萬億。近日《成德眉資同城化發展暨成都都市圈建設2022年重大項目清單》正式印發。作為其中投資規模最大的基礎設施領域,總投資達到7393億元,涵蓋軌道交通建設、城市軸線和快速通道建設、高速公路擴容等方面,一批交...
2026-01-26
iphonex和xr誰更好
iphonex和xr誰更好
iphonex和xr誰更好?大家應該都知道,這兩年的蘋果手機因為創新能力的不足,導緻了它銷量份額一直在降低蘋果手機隻要降價就有吸引力,今天筆者跟大家讨論一下iPhoneXR和iPhoneX究竟哪一款比較好用,性價比比較高呢?别亂選,先看完這...
2026-01-26
Copyright 2023-2026 - www.tftnews.com All Rights Reserved