provide 和 inject 實現祖先與後代的通訊

王東煜發表於2019-12-17
缺點:不是可以響應的,傳入一個可以監聽的值,就可以做到響應(不適用大型專案)

祖先元件:
  provide(){
	return{
    	        //這裡面註冊的是 後代將要使用的資料
    		//這些資料儲存在_provided中,可以是物件也可以是閉包的方式,
		//閉包的好處是:他會在等例項上的資訊都掛載完畢後再處理
     		a:11,
     		b:22,
		change:this.change
	},
	methods:{
	  change(type){
	   ...
	  }
	  this.forceUpdate()//強制重新整理
	}
	
  }
	後代元件:
	//和 props一樣都會把註冊的資訊掛載到例項上
	inject:['change'],
	 methods:{
	   handle(){
	 	this.change(type)
	   }
 	}
複製程式碼

相關文章