第一:使用$set.vue
直接给student赋值操做,虽然能够新增属性,可是不会触发视图更新函数
mounted () { this.student.age = 24 }
缘由是:受 ES5 的限制,Vue.js 不能检测到对象属性的添加或删除。由于 Vue.js 在初始化实例时将属性转为 getter/setter,因此属性必须在 data 对象上才能让 Vue.js 转换它,才能让它是响应的。this
要处理这种状况,咱们能够使用$set()方法,既能够新增属性,又能够触发视图更新。code
错误写法:this.$set(key,value)(ps: 多是vue1.0的写法)对象
mounted () { this.$set(this.student.age, 24) }
正确写法:this.$set(this.data,”key”,value’)get
mounted () { this.$set(this.student,"age",
第二种:用ES6的对象.assign更新对象渲染
Object.assign方法用于对象的合并,将源对象( source )的全部可枚举属性,复制到目标对象( target )date
第三种:用强制刷新$forceUpdate()搜索
添加方法
this.$forceUpdate();
进行强制渲染,效果实现。搜索资料得出结果:由于数据层次太多,render函数没有自动更新,需手动强制刷新。