Vue实例方法-$set与 $delete
1.$set()方法:
作用:用于为对象添加新属性,也能触发DOM的更新。
使用格式:
this.$set(需要添加属性的对象,属性名,属性值);
//与直接为对象新属性赋值 this.obj.属性名=value 的区别:直接为对象新属性赋值,新属性如果再被修改并不会触发DOM的更新。
这里的原理其实是因为vue实例内只有挂载前data拥有的数据才会被监听,数据改变触发DOM更新。而后面直接通过this.obj.name=value方法添加的属性,并没有监听机制。所以当值改变时不会触发DOM更新。而$set方法会为添加的属性添加监听机制,从而实现值改变触发DOM更新。
2. $delete()方法:
作用:用于删除属性,但是实例data并不能使用。
使用格式:
this.$delete(this.obj,'number');
//this.obj 为需要删除属性的对象, number为需要删除的属性名。