我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue3中proxy的基本用法说明

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue3中proxy的基本用法说明

vue3 proxy基本用法

新的改变

  • 我们的vue3 使用proxy 来代替vue2 的 Object.defineProperty 
  • 效率更高,值得我们学习

基本使用

  <script>
        var target = {
            name: "xiaoming",
            age: 18
        }
        // handler 是一个对象
        const handler = {
            set(target, prop, value) {
                let result = Reflect.set(target, prop, value)
                console.log("设置的操作" + 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>

这个打印效果:

vue3中proxy代理

理解Proxy代理

这里模拟一个伪Vue,使用Proxy代理为响应式

<div id='app'></div>
<script>
	const data = {
		name:'hello',
		age:10
	}
	const vm = new Proxy(data,{
		get(target,p,receiver){
			// 1.target就是代理的data对象
			// 2.p 就是data中的每一个属性(name.age)
			// 3.receiver就是Proxy代理对象本身
			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>

当我们执行 vm.name = 'hello,vue'时,触发了set方法,此时receiver

再次打印vm,此时,响应的vm对象上的name变成了新的值,说明此时vm的数据变成了响应式的了

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue3中proxy的基本用法说明

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue3中Vant的使用及说明

这篇文章主要介绍了vue3中Vant的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-01-16

基于@AliasFor注解的用法及说明

这篇文章主要介绍了基于@AliasFor注解的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-02-27

python中的plt.cm.Paired用法说明

plt.cm中cm全称表示colormap paired表示两个两个相近色彩输出,比如浅蓝、深蓝 ;浅红、深红;浅绿,深绿这种。 补充:【python】plt.cm.Spectral,颜色分配 plt.cm.Spectral的简单示例: 实
2022-06-02

python 中sys.getsizeof的用法说明

科班出身的码畜一直被灌输一条上帝圣经:“一个int占4个字节,一个char占1个字节,一个float占4个字节。。。”, 今天看下了python的getsizeof函数,发现python中各个基本数据类型(对象)占用的内存大小和c++/Ja
2022-06-02

vue3响应式Proxy与Reflect的理解及基本使用实例详解

这篇文章主要为大家介绍了vue3响应式Proxy与Reflect的理解及基本使用实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2022-11-13

C++中new的用法及说明

这篇文章主要介绍了C++中new的用法及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-11-13

Vue3中Typescript的基本使用方法有哪些

这篇文章主要介绍“Vue3中Typescript的基本使用方法有哪些”,在日常操作中,相信很多人在Vue3中Typescript的基本使用方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3中Ty
2023-06-27

Java中Math.round()的用法及说明

Java中的Math.round()方法用于将浮点数舍入为最接近的整数,使用四舍五入规则。语法为round(doublea),参数为要舍入的浮点数,返回值为舍入后的整数。该方法广泛用于货币四舍五入、计算小数部分和生成随机整数等场景。除Math.round()外,Java还提供Math.floor()、Math.ceil()和BigDecimal类作为浮点数舍入的替代方案。
Java中Math.round()的用法及说明
2024-04-02

编程热搜

目录