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)


HappyCodingTop
526 声望847 粉丝

Talk is cheap, show the code!!