vue的provide/inject实现响应式数据

provide/inject为我们提供了一种组件间传值的方式,但是默认情况下,provide/inject 绑定并不是响应式的。用官方的话来说就是:

image

那么,我们就可以通过传递一个对象的方式,实现数据的响应式。

//父组件Father.vue

 data(){
	 return {
		obj: {			//一定是个对象,才能实现响应式
			 name: 'eavan'
		 }
	 }
 },
 provide() {			//要访问组件实例 property,我们需要将 provide 转换为返回对象的函数
	 return{
		 user: this.obj
	}
 }
//子组件Child.vue

export default {
    name: 'Child',
	inject: ['user']	//正常使用inject
}
posted @ 2021-09-16 16:30  这个少年有点热丶  阅读(1471)  评论(0编辑  收藏  举报