属性值更改后,页面不更新只有一个原因,就是当前对象的属性值没有被劫持(不信的话可以自己打印对象看,有没有对应的属性set,get)
data () { return { test: {name:''} } }
this.$set(this.test,'age',18)
能更新,再打印this.test 发现age还是没被劫持,页面是更新了。如果test是通过props传进来的,通过this.$set只会触发当前组件的更新,并不能触发父组件的更新。this.test = {name:'',age:18}
,这种方式会触发test对象下所有属性的劫持,包括age属性,并更新页面。