千家信息网

vue中this.$set怎么用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关vue中this.$set怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue中 this.$set的使用背景:在我写前端项目的时候,后端给
千家信息网最后更新 2026年11月02日vue中this.$set怎么用

这篇文章给大家分享的是有关vue中this.$set怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

    vue中 this.$set的使用

    背景:在我写前端项目的时候,后端给我们的一个json对象,并且我已经渲染在页面上了。但是由于我自己的需求,想往返回的对象里面添加一个字段,于是我用push一个字段进去,添加是添加进去了,但是页面渲染却没有变化。后来才意识到不是响应式的。如果我们要让这个新字段是响应式的,就要使用到this.$set来注入数据

    当vue的data里边声明或者已经赋值过的对象或者数组(数组里边的值是对象)时,向对象中添加新的属性,如果更新此属性的值,是不会更新视图的。

    使用

    this.$set( target, key, value)

    target:表示数据源,即是你要操作的数组或者对象

    key:要操作的的字段

    value:更改的数据

    来个小案例:

    给一个对象添加一个年龄属性并且让它可以响应式的进行改变

    当我们没有使用this.$set去添加对象属性的时候,效果:

    数据确实已经添加进去了,但是页面并没有响应式的渲染age属性。

    当我们使用this.$set(this.list,'age',18)去添加一个属性之后。效果:

    我们能看见添加的数据是响应式的。

    为什么能够响应式?

    仔细观察一下,使用了this.$set 多了get age和set age方法,这正是能够响应式的原因

    分析

    Vue的响应式原理为 JavaScript 对象传入 Vue 实例作为 data 选项,Vue 将遍历此对象所有的 property,并使用 Object.defineProperty 把这些 property 全部转为 getter/setter。这些 getter/setter 对用户来说是不可见的,但是在内部它们让 Vue 能够追踪依赖,在 property 被访问和修改时通知变更。这里需要注意的是不同浏览器在控制台打印数据对象时对 getter/setter 的格式化并不同,下图来自官方文档。

    感谢各位的阅读!关于"vue中this.$set怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    对象 属性 数据 字段 数组 页面 不同 内容 效果 时候 更多 篇文章 更新 不错 实用 下图 前端 原因 原因分析 原理 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东万易互联网科技有限公司惠州分公司 科技互联网企业 美国互联网科技巨头监管 互联网 的科技创新 唐信互联网科技 青海省互联网新科技 青岛中康互联网医疗科技有限公司 互联网科技博主是什么意思 贵州叶脉互联网科技有限公司所属行业 广州市恰铎互联网科技有限公司 互联网科技扶贫时间 996高科技互联网公司 工业互联网展湾科技股份有限公司 山东星卡互联网科技有限公司官网 四川互联网展示科技馆设计 南京一网一红互联网科技有限公司 福州德业互联网科技 互联网科技创新方面的资料 恒生科技互联网指数十大成分股 互联网科技企业文化 百单网互联网科技有限公司 深圳互联网络科技有限公司 互联网科技论文 易通互联网络科技有限公司 深圳期待互联网科技 互联网科技公司名称 互联网科技实习生岗位职责 中国互联网有什么科技含量 注册互联网科技公司经营范围大全 平安好医生打造互联网科技医疗
    0