解析vue2.0和vue3.0 响应式的区别:
发布日期:2022-02-06 00:26:57 浏览次数:26 分类:技术文章

本文共 885 字,大约阅读时间需要 2 分钟。

vue 3.0 的响应式:

3.0 的响应式是采用 es6 里面的 proxy 来实现响应式的;

用大白话理解 proxy 的响应式的话:

proxy 就是在对象之前设置了一个拦截,当该对象被访问的时候,都必须经过这层拦截。意味着你可以在这层拦截中进行各种操作。比如你可以在这层拦截中对原对象进行处理,返回你想返回的数据结构。

proxy 里面有13个参数,常用的参数 target 、handler、get、set、deleteProperty

例子:

new Proxy(data, {
// 拦截读取属性值 get(target, prop) {
return Reflect.get(target, prop) }, // 拦截设置属性值或添加新属性 set(target, prop, value) {
return Reflect.set(target, prop, value) }, // 拦截删除属性 deleteProperty(target, prop) {
return Reflect.deleteProperty(target, prop) }})proxy.name = 'tom'
      
Proxy 与 Reflect

vue 2.0 的响应式

2.0 的响应式是采用 es5 里面的 Object.defineProperty 方法来实现响应式的;

核心:
  • 对象: 通过 defineProperty 对对象的已有属性值的读取和修改进行劫持(监视/拦截);
  • 数组: 通过重写数组更新数组一系列更新元素的方法来实现元素修改的劫持;
2.0 响应式的缺陷:
  • 对象直接新添加的属性或删除已有属性, 界面不会自动更新;
  • 直接通过下标替换元素或更新 length, 界面不会自动更新 arr[1] = {}
如何解决2.0 响应式的缺陷:

解决的方法官网也给出的解决之道:

1、 采用 $set 、$get 、$delete

转载地址:https://blog.csdn.net/weixin_46174785/article/details/118423880 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:uniapp上传视频或图片(手写原生)
下一篇:uniapp手写一个日历

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月06日 06时15分08秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

Hibernate的抓取策略---Hibernate查询方式的优化 延迟加载 + 抓取策略 2019-04-26
C语言算法题,统计个年龄段的人数0~9,10~19.。。。。分别放置到数组b[0],b[1]......... 2019-04-26
Struts2快速入门,超简单详细的快速入门教程 2019-04-26
Java 冒泡排序详解,一分钟理解冒泡排序 2019-04-26
Struts2的执行流程 2019-04-26
Struts2的常见配置,配置XML的提示,Struts2的配置文件,package 的配置,Action的配置,常量的配置,Struts2的分模块开发的配置 2019-04-26
C语言算法,图解+详解 统计输入字符串当中要查找字符串的数量,substr所指的子符串在str所指的字符串中出现的次数。 2019-04-26
Java 当中 通过Date获取时间和通过SimpleDateFormat格式化时间 2019-04-26
Struts的数据的封装,属性驱动:提供属性set方法的方式,属性驱动:页面中提供一种表达式,模型驱动:采用模型驱动的方式,INPUT的逻辑视图的配置 2019-04-26
Struts2的复杂数据类型的封装,封装数据到List集合中,封装数据到Map集合当中 2019-04-26
Mysql计算月份差 2019-04-26
OGNL,OGNL在Struts2环境当中的使用(入门) 2019-04-26
Java OGNL入门(Java环境当中使用) 2019-04-26
Struts2的值栈(ValueStack),详解+图解 2019-04-26
OGNL中特殊字符 # $ %的用法和含义,案例+解析 2019-04-26
Struts2的拦截器,Struts2的执行流程,图解+详解(底层代码)以及 自定义拦截器(配置和使用) 2019-04-26
Struts2的标签库大全(案例+用法+解析) 2019-04-26
Struts2数据有效性的校验的两种方式,Struts2数据校验(案例+解析) 2019-04-26
Struts2的国际化 全局的国际化:(JSP,Action,配置文件)Action范围的国际化:包范围的国际化:临时的国际化 2019-04-26
Spring的IOC的注解开发(案例+解析) 2019-04-26