vue 实例创建之后添加新的属性到实例上,它不会触发视图更新
当生成 vue 实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去;
子组件的 props 数据不能与父组件传递的值实时保持一致。
data () {
return {
student: {
name: '',
sex: ''
}
}
}
mounted () {
this.student.age = 24
}
使用 $set() 方法,既可以新增属性, 又可以触发视图更新。
受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。因为 Vue.js 在初始化实例时将属性转为 getter/setter,所以属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。
Vue.set(object, key, value)
this.$set(this.data,”key”,value’)
this.$set(this.student,”age”, 24)