vue响应式原理理解

vue响应式原理理解要理解响应式原理,首先要理解两个问题,数据改变后,Vue是如何监听的,要通知哪些人然后进行界面的刷新首先来理解一下下面这这个监听数值改变与监听获取数据的函数,首先创建一个对象,然后这个对象就是用来被监听的,首先使用forEach来把对象里面所有的值取出来放到value这里,然后再defindeProperty里面重新定义,这个方法里面有一个set和get方法,分别是处理监听数据改变和数据被获取…

大家好,又见面了,我是你们的朋友全栈君。

要理解响应式原理,首先要理解两个问题,数据改变后,Vue是如何监听的,要通知哪些人然后进行界面的刷新
在这里插入图片描述
首先来理解一下下面这这个监听数值改变与监听获取数据的函数,首先创建一个对象,然后这个对象就是用来被监听的,首先使用forEach来把对象里面所有的值取出来放到value这里,然后再defindeProperty里面重新定义,这个方法里面有一个set和get方法,分别是处理监听数据改变和数据被获取的,

在这里插入图片描述
上面就解决第一个问题:当数值的改变的时候或者被人获取数值的时候,能够监听到
然后下面就解决第二个问题,当数值改变的时候,如何实现界面更新呢,就需要找到谁再用这个属性,然后通知这些人数值改变了,然后来进行数值更新,
那么从哪里开始寻找这些人呢,其实谁使用这些属性,就需要执行一次get方法,所以谁执行get方法,就是谁
现在就是用订阅者模式
首先创建两个类,分别是发布者和订阅者,再里面的构造函数里面定义自己的属性和变量,然后再类里定义一个把订阅者存起来的数组
在这里插入图片描述
然后写订阅者,再构造函数里定义自己属性和变量,然后定义一个如果本身收到数值改变的信号,自己就执行这个方法,new一下自己把参数传进去,然后把值存到发布者那里,

在这里插入图片描述
接下来就是如果监听到数值发发生改变,然后就需要发送信号给使用这些数值的人,那么谁来发通知呢,就是notify这个方法
在这里插入图片描述
再收到改变的信号后就执行改变数值的方法。
再看图解,一个属性就会创建一个Dep对象监听它的状态
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133688.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java面向对象三大特征的理解

    Java面向对象三大特征的理解面向对象三大特征的理解初始理解封装继承多态初始理解其实这些知识很早就有接触,而且一些概念也牢记于心了。自己叙述面向对象的特征会是这样的:面向对象的三大特征是封装、继承和多态。封装是对代码的封装以实现迪内聚高耦合的设计,使代码更安全且具有良好的扩展性。继承是父类产生子类的过程,子类可以使用父类的非私有的属性和方法。多态是一个对象在不同时刻可以表现出不同状态的现象。外加Animal和Cat的例子。这一段时间敲了不少的Java代码,在敲代码的过程中想了无数次的面向对象这几个概念,对他们有了更深的了解,在这

    2022年7月15日
    13
  • Latex中的单引号,双引号如何输入?

    Latex中的单引号,双引号如何输入?Latex 中的单引号 双引号如何输入 左单引号 左双引号 右单引号 右双引号

    2026年1月19日
    1
  • Docker总结(配合阿里云容器镜像服务)「建议收藏」

    Docker总结(配合阿里云容器镜像服务)「建议收藏」Docker是个很好的工具,刚开始用觉得还没虚拟环境好用,随着深入了解,越发觉得Docker好用,今天就来总结一下使用心得。一、Docker基础1、背景知识1)docker是什么?Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。它是目前最流行的Linux容器解决方案。Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个…

    2022年5月24日
    65
  • MAC读写NTFS移动硬盘的解决办法

    MAC读写NTFS移动硬盘的解决办法  一个NTFS的移动硬盘,在MAC上能读不能写。大哥你能读为什么不能写?况且NTFS多少年了你为什么不支持?怎么办?下载Mounty11 双击,再点击山岭的图标。 插入移动硬盘。  运气好的话就能以读写模式加载。运气不好呢?会提示失败。有人说运行chkdsk/f,吾试了依然不行。换了一个LINUX格式的U盘,顺利写入。…

    2022年6月21日
    25
  • 修改源码去除zblog博客分类目录的RSS图标

    修改源码去除zblog博客分类目录的RSS图标

    2021年11月16日
    57
  • Jmeter之.jtl文件解析「建议收藏」

    Jmeter之.jtl文件解析「建议收藏」我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果。<httpSamplet=”1″lt=”1″ts=”1450684950333″s=”true”lb=”app.testdelay”rc=”200″rm=”OK”tn=”appdelay-3000g3m1-1″dt=””by=”2265″/>t表示从请求开始到响应结束…

    2025年7月29日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号