vue3中proxy的基本用法說(shuō)明
vue3 proxy基本用法
新的改變
- 我們的vue3 使用proxy 來(lái)代替vue2 的 Object.defineProperty
- 效率更高,值得我們學(xué)習(xí)
基本使用
<script> var target = { name: "xiaoming", age: 18 } // handler 是一個(gè)對(duì)象 const handler = { set(target, prop, value) { let result = Reflect.set(target, prop, value) console.log("設(shè)置的操作" + result) return true; }, get(target, value) { let result = Reflect.get(target, value) console.log("獲取的的操作" + result) } } let proxy = new Proxy(target, handler); proxy.coure = "java" console.log(proxy) </script>
這個(gè)打印效果:
vue3中proxy代理
理解Proxy代理
這里模擬一個(gè)偽Vue,使用Proxy代理為響應(yīng)式
<div id='app'></div> <script> const data = { name:'hello', age:10 } const vm = new Proxy(data,{ get(target,p,receiver){ // 1.target就是代理的data對(duì)象 // 2.p 就是data中的每一個(gè)屬性(name.age) // 3.receiver就是Proxy代理對(duì)象本身 return target[p] }, set(target,p,value,receiver){ // 1.value就是最新的值 console.log('receiver:',receiver) if(taregt[p]===value) return target[p] = value document.querySelector('#app').textContent = target[p] } }) vm.name = 'hello,vue' </script>
當(dāng)我們執(zhí)行 vm.name = 'hello,vue'時(shí),觸發(fā)了set方法,此時(shí)receiver
再次打印vm,此時(shí),響應(yīng)的vm對(duì)象上的name變成了新的值,說(shuō)明此時(shí)vm的數(shù)據(jù)變成了響應(yīng)式的了
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue路由 遍歷生成復(fù)數(shù)router-link的例子
今天小編就為大家分享一篇vue路由 遍歷生成復(fù)數(shù)router-link的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10Django+Vue.js搭建前后端分離項(xiàng)目的示例
本篇文章主要介紹了Django+Vue.js搭建前后端分離項(xiàng)目的示例,具有一定參考價(jià)值,有興趣的可以了解一下2017-08-08vue項(xiàng)目中向數(shù)組添加元素的3種方式
這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目中向數(shù)組添加元素的3種方式,在Vue中添加元素到數(shù)組非常簡(jiǎn)單,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-10-10關(guān)于Vue背景圖打包之后訪問(wèn)路徑錯(cuò)誤問(wèn)題的解決
本篇文章主要介紹了關(guān)于Vue背景圖打包之后訪問(wèn)路徑錯(cuò)誤問(wèn)題的解決,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11vue工程全局設(shè)置ajax的等待動(dòng)效的方法
這篇文章主要介紹了vue工程全局設(shè)置ajax的等待動(dòng)效的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02詳解vue-router 2.0 常用基礎(chǔ)知識(shí)點(diǎn)之導(dǎo)航鉤子
本篇文章主要介紹了vue-router 2.0 常用基礎(chǔ)知識(shí)點(diǎn)之導(dǎo)航鉤子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05vue如何解決echarts升級(jí)后本地?zé)o法啟動(dòng)的問(wèn)題
這篇文章主要介紹了vue如何解決echarts升級(jí)后本地?zé)o法啟動(dòng)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06基于Vue組件化的日期聯(lián)動(dòng)選擇器功能的實(shí)現(xiàn)代碼
這篇文章主要介紹了基于Vue組件化的日期聯(lián)動(dòng)選擇器的實(shí)現(xiàn)代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11Vue封裝一個(gè)簡(jiǎn)單輕量的上傳文件組件的示例
這篇文章主要介紹了Vue封裝一個(gè)簡(jiǎn)單輕量的上傳文件組件的示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03