(1)provide和inject須要一塊兒使用,以容許其祖先組件向其全部子孫後代注入一個依賴,不論層次有多深數組
(2)provide 選項應該是一個對象或返回一個對象的函數。該對象包含可注入其子孫的屬性;ide
element的form裏面代碼以下:函數
element的formItem的代碼以下:測試
(3)inject 選項應該是 一個字符串數組 或者一個對象,
this
在element的input中的代碼以下:在input中,使用this.elForm便可獲得當前form的this,使用this.elFormItem可獲取到當前formItem的this。spa
mixins 選項接受一個混入對象的數組;例如element中的formItem中的emitter;3d
emitter對應的值爲:component
這樣在formItem中,能夠經過this.dispatch()調用dispatch方法,能夠經過this.broadcast()調用broadcast方法;至關於formItem組件的methods中增長了dispatch和broadcast方法;orm
tip: 若是混入的是生命週期函數,則會先調用混入的生命週期函數,在調用組件自身的生命周cdn
期函數。
(1)<slot> 元素做爲組件模板之中的內容分發插槽。<slot> 元素自身將被替換。一個不帶 name 的 <slot> 出口會帶有隱含的名字「default」。
(2)沒有name的slot:
若是組件a爲:
則使用a組件的時候,a組件包裹的內容將替換<slot></slot>;以下圖:<button>測試按鈕</button>將替換slot;
(3)有name的slot:
若是組件a爲:
則使用a組件的時候,只有使用v-slot:testSlot時,a組件包裹的內容將替換<slot name="testSlot"></slot>;以下圖:<button>測試按鈕</button>將替換slot;
tip: v-slot命令只能用於component或者template;