Vue如何监听数组变化?长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1931个文字,预计阅读时间需要8分钟。
回忆+上一篇Vue响应式原理-理解Observer、Dep、Watcher简单讲解了解Observer、Dep、Watcher三者之间的关系。在Observer的伪代码中,我们模拟了如下代码:
javascriptclass Observer { constructor() { // 响应式绑定数据 }}
回忆
在上一篇Vue响应式原理-理解Observer、Dep、Watcher简单讲解了Observer、Dep、Watcher三者的关系。
在Observer的伪代码中我们模拟了如下代码:
class Observer { constructor() { // 响应式绑定数据通过方法 observe(this.data); } } export function observe (data) { const keys = Object.keys(data); for (let i = 0; i < keys.length; i++) { // 将data中我们定义的每个属性进行响应式绑定 defineReactive(obj, keys[i]); } } export function defineReactive () { // ...省略 Object.defineProperty get-set }
今天我们就进一步了解Observer里还做了什么事。
Array的变化如何监听?
data 中的数据如果是一个数组怎么办?我们发现Object.defineProperty对数组进行响应式化是有缺陷的。
本文共计1931个文字,预计阅读时间需要8分钟。
回忆+上一篇Vue响应式原理-理解Observer、Dep、Watcher简单讲解了解Observer、Dep、Watcher三者之间的关系。在Observer的伪代码中,我们模拟了如下代码:
javascriptclass Observer { constructor() { // 响应式绑定数据 }}
回忆
在上一篇Vue响应式原理-理解Observer、Dep、Watcher简单讲解了Observer、Dep、Watcher三者的关系。
在Observer的伪代码中我们模拟了如下代码:
class Observer { constructor() { // 响应式绑定数据通过方法 observe(this.data); } } export function observe (data) { const keys = Object.keys(data); for (let i = 0; i < keys.length; i++) { // 将data中我们定义的每个属性进行响应式绑定 defineReactive(obj, keys[i]); } } export function defineReactive () { // ...省略 Object.defineProperty get-set }
今天我们就进一步了解Observer里还做了什么事。
Array的变化如何监听?
data 中的数据如果是一个数组怎么办?我们发现Object.defineProperty对数组进行响应式化是有缺陷的。

