| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> JavaScript知识库 -> vue响应式原理--对了解父子组件通信很有帮助 -> 正文阅读 |
|
|
[JavaScript知识库]vue响应式原理--对了解父子组件通信很有帮助 |
我们都知道Vue通过MVVM思想实现数据的双向绑定,数据驱动页面视图。那它到底是如何进行双向绑定的呢?
? 只要在?Vue?实例中声明过的数据,这个数据就是响应式的。 什么是响应式,即,数据发生改变的时候,视图会重新渲染,匹配更新为最新的值。 那么我们就会思考:?
这就涉及到Object.defineProperty。Vue 实现响应式的一个核心 API 是 基本用法:
使用?Object.defineProperty?可以为对象中的每一个属性,设置?get?和?set?方法?
那么 get?和?set?方法有什么用?
? ? ? ?data 中的声明的每个属性,都拥有一个数组(专属的依赖收集器 subs),保存着?谁依赖(使用)了?它。这样知道谁依赖他,就可以在其改变时,通知依赖他的页面进行更新。使用了?一个?dep?保存了?页面这个依赖,而保存的实际上是页面的 Watcher。
? ? ? 因而当数据改变时,触发?属性的?set?方法,Vue?就能知道数据有改变。当数据改变的时候,会遍历自己的依赖收集器?subs,逐个通知?watcher,让 watcher?完成更新。 关于如何监听 data 变化共定义了三个函数:
对于监听数组,是通过重写数组方法来实现?。 Object.defineProperty 缺点
? ? ? |
|
|
| JavaScript知识库 最新文章 |
| ES6的相关知识点 |
| react 函数式组件 & react其他一些总结 |
| Vue基础超详细 |
| 前端JS也可以连点成线(Vue中运用 AntVG6) |
| Vue事件处理的基本使用 |
| Vue后台项目的记录 (一) |
| 前后端分离vue跨域,devServer配置proxy代理 |
| TypeScript |
| 初识vuex |
| vue项目安装包指令收集 |
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/7 18:43:11- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |