vue的provide/inject实现响应式数据
provide/inject为我们提供了一种组件间传值的方式,但是默认情况下,provide/inject 绑定并不是响应式的。用官方的话来说就是:
那么,我们就可以通过传递一个对象的方式,实现数据的响应式。
//父组件Father.vue
data(){
return {
obj: { //一定是个对象,才能实现响应式
name: 'eavan'
}
}
},
provide() { //要访问组件实例 property,我们需要将 provide 转换为返回对象的函数
return{
user: this.obj
}
}
//子组件Child.vue
export default {
name: 'Child',
inject: ['user'] //正常使用inject
}