千家信息网

Vue中的Vue.set和this.$set怎么使用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章主要介绍"Vue中的Vue.set和this.$set怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Vue中的Vue.set和this.$se
千家信息网最后更新 2026年11月03日Vue中的Vue.set和this.$set怎么使用

这篇文章主要介绍"Vue中的Vue.set和this.$set怎么使用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Vue中的Vue.set和this.$set怎么使用"文章能帮助大家解决问题。

一、为什么有Vue.set

由于JavaScript的限制,Vue无法检测到data中数组和对象的变化,因此也不会触发视图更新。

二、解决方法

数组

1.使用Vue提供的变异方法

Vue对这些JS数组方法进行了封装,通过这些方法是可以检测到数组更新的。

2.将原数组整个替换

如下例中,是要实现vm.items[1] = 'excess'

  • {{ index }} : {{ item }}
3.使用Vue.set(见后文)

对象

1.将原对象整个替换

如下例中,是要实现给object新增一个键值对{test: 'newthing'}

  • {{ name }} : {{ value }}
2.使用Vue.set(见后文)

三、Vue.set

对于数组

Vue不能检测以下数组的变动:

  • 利用索引值直接设置一个数组项时,例如vm.list[0]=newValue

  • 修改数组长度时,例如vm.list.length=newLength

举个栗子

var vm = new Vue({  data: {    items: ['a', 'b', 'c']  }})vm.items[1] = 'x' // 不是响应性的vm.items.length = 2 // 不是响应性的

这时可以使用Vue.set或者this.$set

使用方法

Vue.set(target,index,newValue)

// Vue.setVue.set(vm.items, indexOfItem, newValue)
// this.$setvm.$set(vm.items, indexOfItem, newValue)

对于对象

Vue 无法检测 property 的添加或移除。由于 Vue 会在初始化实例时对 property 执行 getter/setter 转化,所以 property 必须在 data 对象上存在才能让 Vue 将它转换为响应式的。

举个栗子

var vm = new Vue({  data:{    a:1  }})// `vm.a` 是响应式的vm.b = 2// `vm.b` 是非响应式的
使用方法

Vue.set(target,key,value)

Vue.set(vm.someObject, 'b', 2)
this.$set(this.someObject,'b',2)

注意

Vue不允许动态添加根级响应式属性

const app = new Vue({  data: {    a: 1  }  // render: h => h(Suduko)}).$mount('#app1')Vue.set(app.data, 'b', 2)

只可以使用 Vue.set(object, propertyName, value) 方法向嵌套对象添加响应式属性

var vm=new Vue({    el:'#test',    data:{        //data中已经存在info根属性        info:{            name:'小明';        }    }});//给info添加一个性别属性Vue.set(vm.info,'sex','男');

四、使用场景

当我们对data中的数组或对象进行修改时,有些操作方式是非响应式的,Vue检测不到数据更新,因此也不会触发视图更新。此时需要使用Vue.set()进行响应式的数据更新。

关于"Vue中的Vue.set和this.$set怎么使用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

数组 方法 对象 更新 检测 属性 知识 使用方法 后文 数据 是非 行业 视图 栗子 不同 实用 内容 动态 变异 场景 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网是第几次科技革命的成果 科技与互联网 广州互联网科技公司 汇久创客互联网科技 郑州华宇互联网科技 撒么互联网科技公司 国外互联网科技网站 居家互联网科技有限公司 海南购全球互联网科技 老年人脱离互联网科技的作文 安控科技rtu产品工业互联网 中化能源互联网科技招聘 港股科技和互联网 中国科技创新与世界互联网大会 从那以后互联网科技有限公司 全球科技与互联网公司市值变化 中国新注册互联网科技 西安左小互联网科技有限公司 恒生科技互联网指数十大成分股 互联网科技快速发展优美句子 互联网科技会 互联网科技英文翻译 上海亿帐通互联网科技 现代科技和互联网有关系吗 中国科技互联网公司收入 宁波青枫互联网科技有限公司 上海创道互联网络科技有限公司 互联网科技年终奖 中国新注册互联网科技 银川新华互联网科技学校是国营吗
0