在vue中椒丧,通常父子組件通信壹甥,我們使用的是props
,但是有的場景壶熏,我們需要對父子組件進行雙向綁定句柠。這時我們會用到v-model
自定義組件。
官網(wǎng)的解釋則是棒假,父組件將值通過v-model
進行綁定溯职,之后子組件通過props
的key
為value
進行接收,通過事件input
觸發(fā)更改父組件帽哑。
當(dāng)然為了避免子組件內(nèi)有data谜酒,或其他props名為value,所以在當(dāng)前實例下妻枕,有一個model
屬性,定義方法如下
model: {
prop: 'checked', // props默認是value
event: 'change' // 事件名默認是input
},
這樣在子組件內(nèi)通過$emit觸發(fā)定義好的model
事件名更改父組件的值僻族。并且我們通過watch
監(jiān)聽父組件值的更改綁定至子組件粘驰。代碼如下:
父組件
父組件
子組件
子組件
效果圖