对于vue页面的数据同步具有响应式来说:
复杂数据对象类型是引用类型,当子组件采用父传子拿到父组件的对象,修改父对象里面原对象属性的值,或者直接对原对象点上一个新的属性进行添加值,页面的值会同步发生变化,父组件的vue值也会同步改变,这是因为对象地址指向是相同的,页面监听数据的变化会有响应式的效果,但是如果子组件对父组件里面的对象直接覆盖赋值的话,就会改变原对象的地址了,页面显示值会变化,但是一刷新又会恢复原样,原因是因为虽然子组件的值变化了,但是父组件的vue数值是没有跟随改变的,此时父组件的对象和子组件的对象指向的地址不同,子组件修改父组件的值就不会同步变化了。
解决这个问题,向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,
因为 Vue 无法探测普通的新增属性
(比如 this.myObject.newProperty = ‘hi’),
你会发现vue官网是 vue.set,
vue.set的用法,连接https://cn.vuejs.org/v2/api/#Vue-set,
调用方法:this.$set( target, key, value )
target:要更改的数据源(可以是对象或者数组)
key:要更改的具体数据
value :重新赋的值
对于export的数据暴露,对象指向问题来说:
对象可以修改里面属性的值,但是不能直接赋值,直接赋值就改变了原对象的地址,相当于用了一个新的对象,例如exprot的数据暴露,对象指向问题