vue.$set和vm.$set有什么区别
时间: 2023-11-22 15:48:49 浏览: 236
Vue 报错TypeError: this.$set is not a function 的解决方法
5星 · 资源好评率100%
根据提供的引用内容,可以得知`Vue.set()`和`vm.$set()`都可以用来向Vue实例中的响应式对象添加属性并触发视图更新。它们的区别在于`Vue.set()`可以用于全局对象,而`vm.$set()`只能用于当前实例。具体来说,`Vue.set()`的语法为`Vue.set(target, key, value)`,而`vm.$set()`的语法为`vm.$set(target, key, value)`。其中,`target`是要添加属性的对象,`key`是属性名,`value`是属性值。
举个例子,假设我们有一个Vue实例`vm`,其中有一个响应式对象`list`,我们想要向`list`中添加一个新属性`newProp`,可以使用以下两种方法:
```javascript
// 使用Vue.set()
Vue.set(vm.list, 'newProp', 'new value');
// 使用vm.$set()
vm.$set(vm.list, 'newProp', 'new value');
```
这两种方法的效果是一样的,都会向`list`中添加一个新属性`newProp`并触发视图更新。
阅读全文