vue.set和 this.$set
时间: 2023-11-08 22:05:56 浏览: 103
vue.set和this.$set都是用来在Vue实例中设置响应式属性的方法。它们的作用是相同的,但是使用方式略有不同。
vue.set的使用方式如下:
```
Vue.set(obj, propertyName, value)
```
this.$set的使用方式如下:
```
this.$set(obj, propertyName, value)
```
其中,obj是要设置属性的对象,propertyName是要设置的属性名,value是要设置的属性值。
这两个方法的作用是将一个非响应式的对象变成响应式的对象,并且能够触发视图更新。
需要注意的是,如果要在嵌套对象中设置属性,需要使用点号或方括号来访问属性。例如:
```
this.$set(obj.nestedObj, 'propertyName', value)
```
相关问题
vue.set和this.$set的区别
Vue.set() 和 this.$set() 都用于在Vue实例或其数据中动态添加或修改响应式属性。它们的区别在于使用方法:Vue.set()需要传入第一个参数为对象本身,第二个参数为属性名,第三个参数为属性值;而 this.$set()则可以直接在Vue实例上调用,只需传入对象本身、属性名和属性值即可,不需要再将Vue实例作为第一个参数传入。此外,this.$set()也可以用于在嵌套对象中设置属性,因为它会自动递归进行响应式处理。
vue 中什么方法可以向嵌套对象添加响应式 property? 多选题3.0分 Vue.set vm.$set (this.$set) C Vue.add D vm.Sadd (this.$add)
在 Vue 中,可以使用以下方法向嵌套对象添加响应式属性:
- `Vue.set()`:可用于在 Vue 实例或嵌套对象中添加响应式属性。
- `vm.$set()` 或 `this.$set()`:实例方法,可用于在 Vue 实例或嵌套对象中添加响应式属性。
因此,选项 A 和 B 都是正确的。而选项 C 和 D 中的方法在 Vue 中并不存在。
阅读全文