当前位置: 首页 > news >正文

this.$set() 的用法详解(Vue响应式系统相关)

1. 什么是 this.$set()

this.$set(target, key, value) 是 Vue 2 中提供的一个方法,用于向响应式对象中动态添加属性,确保新加的属性同样是响应式的。 

2. 为什么需要它?

Vue 2 的响应式系统基于 Object.defineProperty,它只能检测到对象已有属性的变化,无法检测新增的属性。 

data() {return {user: {}}
},
methods: {addProp() {this.user.name = 'fang'; // 直接赋值不会触发视图更新}
}

 这样写,不会触发视图更新,因为 user 对象一开始没有 name 属性。

3. 正确用法:
 

this.$set(this.user, 'name', 'fang');

 4. 具体示例:

export default {data() {return {info: {}}},methods: {addInfo() {this.$set(this.info, 'age', 30);// 或者Vue.set(this.info, 'age', 30); // 组件外用Vue全局对象调用}}
}

5. Vue 3 情况

Vue 3 使用 Proxy 实现响应式,天然支持新增属性的响应式,不需要 $set

http://www.dtcms.com/a/233375.html

相关文章:

  • 基于值函数的强化学习算法之Double Q-Learning详解
  • 示波器电流探头校准规范指南
  • 软考 系统架构设计师系列知识点之杂项集萃(81)
  • nginx 同时支持ipv4与ipv6 配置
  • 【Android基础回顾】五:AMS(Activity Manager Service)
  • 猎板PCB有铜半孔技术:深空探测器的“神经骨架”
  • Git 推送失败解决教程——error: failed to push some refs to
  • 一、ES6-let声明变量【解刨分析最详细】
  • 【Java Web】9.Maven高级
  • 双空间知识蒸馏用于大语言模型
  • 沪铜6月想法
  • 监控硬盘可以当台式机硬盘用吗
  • Jenkins | Jenkins构建成功服务进程关闭问题
  • html文字红色粗体,闪烁渐变动画效果
  • jenkins脚本查看及备份
  • 可视化图解算法48:有效括号序列
  • 板凳-------Mysql cookbook学习 (十)
  • OD 算法题 B卷【BOSS的收入】
  • Abaqus的线弹性与塑性
  • LangChain 入门指南:基于 DeepSeek 模型构建对话流程(保姆级)
  • HTML5+CSS3+JS小实例:具有粘性重力的磨砂玻璃导航栏
  • 【CPU】英特尔酷睿Ultra 5 225H与Ultra7 258V(Lunar Lake架构)PK
  • Spring Boot + MyBatis 集成支付宝支付流程
  • 在线教程|新加坡国立大学 Show Lab 发布 OmniConsistency 模型,实现即插即用的图像风格迁移
  • 打通印染车间“神经末梢”:DeviceNet转Ethernet/IP连接机器人的高效方案
  • CodeTop100 Day23
  • 代码随想录 算法训练 Day23:回溯算法part02
  • 提示词指南 --- 提示词的基本结构
  • dvwa10——XSS(DOM)
  • Linux程序运行日志总结