provide 和 inject 实现祖先与后代的通信

319 阅读1分钟
缺点:不是可以响应的,传入一个可以监听的值,就可以做到响应(不适用大型项目)

祖先组件:
  provide(){
	return{
    	        //这里面注册的是 后代将要使用的数据
    		//这些数据存储在_provided中,可以是对象也可以是闭包的方式,
		//闭包的好处是:他会在等实例上的信息都挂载完毕后再处理
     		a:11,
     		b:22,
		change:this.change
	},
	methods:{
	  change(type){
	   ...
	  }
	  this.forceUpdate()//强制刷新
	}
	
  }
	后代组件:
	//和 props一样都会把注册的信息挂载到实例上
	inject:['change'],
	 methods:{
	   handle(){
	 	this.change(type)
	   }
 	}