this.$set()适用于向响应式对象中添加新属性,并确保这个新属性同样是响应式的,且触发视图更新。
在Vue.js中,当你需要向一个对象动态添加一个新属性,并且希望这个新属性能够触发视图的更新时,就应该使用this.$set()方法。这是因为Vue无法自动检测到对象属性的添加,除非这个属性是在数据对象初始化时就存在的。
如果你尝试在运行时向已经创建的对象动态添加新属性,这个新添加的属性不会触发视图的更新。this.$set()方法解决了这个问题,它允许你在运行时向响应式对象添加新属性,并确保这个新属性能够触发视图的更新。
简单来说,当你发现给对象添加了一个新属性,这个属性在控制台可以打印出来,但是在视图中没有更新显示时,这时候就需要使用this.$set()方法。这个方法的功能就是确保新添加的属性不仅能够被正确地设置到对象上,而且还能够触发视图的更新,从而保持数据和视图的一致性