首页 > 其他分享 >响应式原理

响应式原理

时间:2023-02-22 20:36:12浏览次数:38  
标签:Object 更新 观测 响应 数组 defineProperty 原理

1.为什么要用响应式原理

实现数据与视图的自动更新操作。

2.响应式原理是什么?

当我们修改一个变量时,会有某些操作可以自动执行

3.怎么做?

vue使用object.defineproperty更新定义data中的所有属性

响应式原理过程

数据观测:数据在初始化时会通过observe方法来调用Observe

1.对象观测    使用Object.definceProperty对数据进行劫持,值是对象类型,需要调用observe进行递归观测

  通过Object.defineProperty对属性定义后,属性的获取触发get回调,属性的设置触发set回调,实现响应式更新 (vue 3.0使用proxy代替Object.defineProperty,Proxy是代理整个对象)

2.数组观测  对于数组观测调用observeArray方法,与对象不同,它执行observe对数组内的对象类型进行观测,并没有对数组的每一项进行Object.defineProperty的定义,通过数组索引对数组进行修改时,不会触发更新。但可以通过this.$set来修改触发更新

  当数组元素新增或删除,视图会随之更新。vue内部重写了数组的方法,调用这些方法时,数组会更新检测 push、pop、shift、unshift、splice、sort、reverse

标签:Object,更新,观测,响应,数组,defineProperty,原理
From: https://www.cnblogs.com/baller-coder/p/17144553.html

相关文章

  • 理论:第十二章:Dubbo的运行原理,支持什么协议,与SpringCould相比它为什么效率要高一些,Zook
    Dubbo简单的介绍一下Dubbo?(Dubbo是什么)dubbo就是个服务调用的东东。为什么怎么说呢?因为Dubbo是由阿里开源的一个RPC分布式框架那么RPC是什么呢?就是不同的应用部署到......
  • 【Bootstrap】010-全局样式:响应式工具
    目录​​一、说明​​​​二、可用的类​​​​三、打印类​​​​四、测试用例​​​​1、在...上可见​​​​2、在...上隐藏​​一、说明为了加快对移动设备友好的页面开......
  • 《分布式技术原理与算法解析》学习笔记Day19
    分布式通信:消息队列什么是消息队列?队列是一种具有先进先出特点的数据结构,消息队列是基于队列实现的、存储具有特定格式的消息数据。消息以特定格式放入这个队列的尾部后......
  • stm32-屏幕-中英文显示原理
    显示中英文1、显示原理字符实际上是一个个独特的图形,计算机必须把字符编码转化成对应的字符图形人类才能正常识别,因此我们要给计算机提供字符的图形数据,这些数据就是字......
  • React Router有几种模式?实现原理?
    一、是什么在单页应用中,一个web项目只有一个html页面,一旦页面加载完成之后,就不用因为用户的操作而进行页面的重新加载或者跳转,其特性如下:改变url且不让浏览器像服务......
  • 计算机组成原理03
    一.总线的基本概念问题:为什么要用总线?回答:总线是各个部件的信息传输线,是各个部件共享的传输介质。1.1.总线上信息的传输1.串行:把要传输的数据以位为单位,一位一位使用......
  • SPA路由实现的基本原理
    1.SPA路由实现的基本原理前端单页应用实现路由的策略有两种,分别是基于hash和基于HistoryAPI基于hash通过将一个URLpath用#Hash符号拆分。—浏览器视作其......
  • 微机原理与系统设计笔记7 |常用芯片接口技术、中断系统与可编程中断控制器8259A
    打算整理汇编语言与接口微机这方面的学习记录。本部分介绍常用芯片接口技术、中断系统与可编程中断控制器8259A。参考资料西电《微机原理与系统设计》周佳社西交......
  • MapReduce原理——切片代码分析
    (1)程序先找到数据存储的目录(2)遍历目录对每个文件进行切片(3)遍历一个文件:获取文件大小计算切片大小默认情况下,切片大小等于blocksize......
  • 4、Redis底层原理(持久化+分布式锁)
    Redis底层原理持久化Redis虽然是个内存数据库,但是Redis支持RDB和AOF两种持久化机制,将数据写往磁盘,可以有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久......