vue 用 $set重新赋值
时间: 2023-07-06 11:27:26 浏览: 181
使用$set方法重新赋值的话,其实是没有必要的。$set方法主要是用来向Vue响应式对象(例如:data中的对象或者数组)中添加新属性或者修改已有属性的值,这样才能保证这些属性的变化能够被Vue所检测到,并且触发视图的更新。
如果你想要修改一个响应式对象的属性值,直接给属性赋新的值即可,不需要使用$set方法。例如:
```
this.myObject.myProperty = newValue;
```
这样做能够直接修改myObject对象中myProperty属性的值,并且Vue会检测到这个变化并且触发视图的更新。如果你使用$set方法来修改这个属性的值,例如:
```
Vue.set(this.myObject, 'myProperty', newValue);
```
这样做虽然也能达到修改属性值的目的,但是会导致Vue多做一些无用的操作,因为Vue会检测到myObject这个对象的变化,即使myObject对象中的其他属性值没有发生变化。所以,如果你只是想修改响应式对象中的属性值,直接给属性赋新的值就可以了,不需要使用$set方法。
相关问题
vue 如何使用$set赋值
在Vue中,如果要动态地添加或修改一个对象的属性,可以使用Vue实例的$set方法。$set方法接收三个参数:对象、属性名和属性值。例如:
```javascript
// 在Vue实例中添加一个名为obj的对象
this.obj = {}
// 通过$set方法动态添加一个属性
this.$set(this.obj, 'name', 'Tom')
```
如果不使用$set方法,直接给对象添加属性,则新添加的属性不会被Vue检测到,也不会触发视图的更新。因此,使用$set方法能够确保添加的属性能够被Vue监测到,从而更新视图。
vue2 使用$set 给数组重新赋值
使用$set给数组重新赋值的语法如下:
```
this.$set(array, index, value);
```
其中,`array`是要重新赋值的数组,`index`是数组中要修改的元素的索引,`value`是要赋给该元素的新值。
例如,假设有一个数组`list`,我们想要将索引为2的元素改为`'new value'`,则可以使用如下代码:
```
this.$set(list, 2, 'new value');
```
这将会把`list[2]`的值从原来的值改为`'new value'`。需要注意的是,使用`$set`方法来修改数组中的元素,可以确保Vue能够监听到这个变化并进行响应式更新。
阅读全文