VUE 是如何监测数据改变的?

 首先这是我们需要监测的数据

data = {
           name: "NEMO",
           age: "18"
        }

我们定义一个观察者类

function Observer(obj) {
            const keys = Object.keys(obj)
            keys.forEach((k) => {
                Object.defineProperty(this, k, {
                    get() {
                        return obj[k]
                    },
                    set(val) {
                        obj[k] = val
                        console.log("数据修改了!")
                    }
                })
            })
        }
const observer = new Observer(data)

这个类遍历出obj(也就是data)的所有属性,再赋予到自己身上,但读取是对 data 进行操作。代理的思想。

const vm = {}
vm._data = data = observer

这样,我们控制台修改 vm._data.name="MJBB" 的时候,就会输出“数据修改了!”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue是一款现代化的JavaScript框架,通过数据绑定和虚拟DOM的概念,可以实现实时渲染页面。在Vue中,表格数据改变可以很方便地触发页面的实时渲染。 首先,我们可以利用Vue数据绑定功能来实现表格数据的实时渲染。Vue数据绑定可以将数据和模板进行绑定,在数据发生改变时,Vue会自动更新相关的DOM元素。例如,当表格中的数据发生改变时,我们可以使用Vue数据绑定将数据与表格模板进行绑定,使得数据改变可以实时响应到表格上。 另外,Vue的虚拟DOM机制也能够保证页面的实时渲染。Vue会根据数据的变化,生成一颗虚拟DOM树,然后通过比较新旧虚拟DOM树的差异,最终只更新需要改变的部分,而不是整个页面。这样就能够大大提高页面的渲染效率,实现实时渲染。 除了数据绑定和虚拟DOM,Vue还提供了一些其他的功能来实现实时渲染。例如,计算属性和侦听器可以用来监测数据的变化并在变化时执行相应的操作;watch深度观察可以监听数组和对象的变化;过滤器可以对数据进行格式化等。 总而言之,通过Vue数据绑定、虚拟DOM以及其他相关功能,我们可以很方便地实现表格数据的实时渲染。在表格数据发生改变时,Vue会自动更新相关的DOM元素,保证页面能够实时呈现最新的数据。这也是Vue成为流行的JavaScript框架之一的原因之一。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值