如何通过JavaScript实现基础的数据监听功能?

更新于
2026-09-26 11:59:39
1阅读来源:SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计545个文字,预计阅读时间需要3分钟。

如何通过JavaScript实现基础的数据监听功能?

目录概述第一步第二步为什么需要单独的_data?给data添加一点数据格式化初始值格式化object对象监听值概述主要使用Object.defineProperty实现类似Vue的数据绑定。

第一步const d=d;

目录
  • 概述
  • 第一步
  • 第二步
  • 为什么需要单独的_data?
    • 给data多添加一点数据
    • 格式化初始值
    • 格式化object对象,监听值

概述

主要是用Object.defineProperty实现类似vue的数据绑定。

第一步

const data = { name: "tom", age: 14 } Object.defineProperty(data, "name", { get(){ return "name被读取了" }, set(val){ console.log(‘我被赋值了‘,val) } }) //将此代码放到浏览器控制台查看效果 console.log(data.name )

输出的data.name并不是tom,而是name被读取了,因为defineProperty对data的name字段进行的监听劫持,修改了,name字段本应该返回的值。

阅读全文

本文共计545个文字,预计阅读时间需要3分钟。

如何通过JavaScript实现基础的数据监听功能?

目录概述第一步第二步为什么需要单独的_data?给data添加一点数据格式化初始值格式化object对象监听值概述主要使用Object.defineProperty实现类似Vue的数据绑定。

第一步const d=d;

目录
  • 概述
  • 第一步
  • 第二步
  • 为什么需要单独的_data?
    • 给data多添加一点数据
    • 格式化初始值
    • 格式化object对象,监听值

概述

主要是用Object.defineProperty实现类似vue的数据绑定。

第一步

const data = { name: "tom", age: 14 } Object.defineProperty(data, "name", { get(){ return "name被读取了" }, set(val){ console.log(‘我被赋值了‘,val) } }) //将此代码放到浏览器控制台查看效果 console.log(data.name )

输出的data.name并不是tom,而是name被读取了,因为defineProperty对data的name字段进行的监听劫持,修改了,name字段本应该返回的值。

阅读全文