vue2-this.$set确保数据响应性的实例方法
- 手机
- 2025-08-31 21:12:02

1.前言
在 Vue.js 2 中,this.$set 是一个用于确保数据响应性的实例方法。它主要用于解决 Vue 2 响应式系统的局限性,即无法自动检测对象属性的动态添加或数组索引的直接修改。
2.问题父组件后端请求获取动态数据
this.uploadData[op.field] = op.fieldValue子组件获取使用校验号码时未校验到输入的值,数据未进行响应式绑定。
<a-form-model-item v-if="peo.field=='certificate_no'" :label="peo.fieldName" :prop="peo.field"> <a-input v-model="uploadData[peo.field]" placeholder="请输入号码" @change="changeData()"/> </a-form-model-item> props: { fieldList: { type: Array, default:[] }, } 3 解决 this.$set(this.uploadData, op.field, op.fieldValue) 4.this.$setVue 2 使用 Object.defineProperty 实现响应式数据。但这种方式存在以下限制
对象属性动态添加:初始化时未定义的属性无法自动成为响应式。
data() { return { user: { name: "Alice" } }; }, methods: { addAge() { this.user.age = 25; // 非响应式,视图不会更新! } }数组索引的直接修改
this.items[0] = newValue; // 非响应式,视图不会更新!this.$set 强制让 Vue 追踪新属性或数组索引的变化,并触发视图更新。
语法
this.$set(target, propertyName/index, value);object 是要设置属性的对象,key 是要设置的属性名,value 是要设置的属性值。
4.1this.$set使用场景 4.1.1对象添加新属性 // 错误:直接添加属性,视图不更新 this.user.age = 25; // 正确:使用 this.$set this.$set(this.user, 'age', 25); // 响应式更新 4.1.2修改数组某一项 // 错误:直接通过索引修改 this.items[0] = 'new value'; // 正确:使用 this.$set this.$set(this.items, 0, 'new value'); // 视图更新 4.1.3修改数组长度 // 错误:直接修改数组长度 this.items.length = 0; // 视图不更新! // 正确:使用 splice this.items.splice(0); // 响应式更新 4.1.4Vue.set与this.$set关系this.$set 是实例方法,Vue.set 是全局方法,两者功能一致:
// 全局方法 Vue.set(this.user, 'age', 25); // 实例方法(组件内更方便) this.$set(this.user, 'age', 25); 5.参考详解vue2中的this.$set_vue2 this.$set-CSDN博客文章浏览阅读3.4k次,点赞5次,收藏18次。在 Vue.js 中,this.$set 是一个用于在响应式对象上设置属性的方法。它可以用于在 Vue 实例的数据对象或组件的响应式属性上添加新的属性,确保新添加的属性也是响应式的。其中,object 是要设置属性的对象,key 是要设置的属性名,value 是要设置的属性值。默认情况下,Vue.js 的响应式系统会在初始化时对数据对象进行递归地劫持,使其成为响应式的。这意味着当你直接给一个已经存在的属性赋值时,Vue 会自动检测到这个变化并更新视图。_vue2 this.$set blog.csdn.net/weixin_42289279/article/details/134004998?fromshare=blogdetail&sharetype=blogdetail&sharerId=134004998&sharerefer=PC&sharesource=2301_76671906&sharefrom=from_link
vue2-this.$set确保数据响应性的实例方法由讯客互联手机栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“vue2-this.$set确保数据响应性的实例方法”
上一篇
Python-爬虫利器-BeautifulSoup4常用AP
下一篇
文件fd