1.v-model原理
輸入框:value屬性和input事件的和寫(xiě)
復(fù)選框:checked屬性和change事件
下拉框: value屬性和change事件
1.數(shù)據(jù)變,視圖變? :value
2.試圖變晃危,數(shù)據(jù)跟著變@input
注意:$event用于模板中叙赚,可以獲取事件的形參
2.表單類組件封裝思路
1.父?jìng)髯樱簲?shù)據(jù)由父組件提供,綁定屬性(:xx)僚饭,子組件利用props接收震叮,v-model拆解綁定數(shù)據(jù),:屬性渲染數(shù)據(jù)
2.子傳父:監(jiān)聽(tīng)輸入(@xxx=處理函數(shù))鳍鸵,子傳父組件 修改過(guò)后的值($emit)苇瓣,父組件監(jiān)聽(tīng)派發(fā)事件,通過(guò)$event獲得形參(以行的方式處理函數(shù)時(shí))
子組件封裝
子組件
父組件使用
父組件
父組件使用v-model簡(jiǎn)化代碼偿乖,實(shí)現(xiàn)雙向數(shù)據(jù)綁定击罪,子組件需要使用:value渲染數(shù)據(jù)
原始寫(xiě)法
change事件在回車或失焦時(shí)可通過(guò)e.target.value得到值
原始寫(xiě)法
修改之后,因?yàn)楦附M件的原始寫(xiě)法剛好符合v-model語(yǔ)法糖汹想,子組件需要派發(fā)input事件
3 .sync修飾符
作用:實(shí)現(xiàn)子組件與父組件數(shù)據(jù)得?雙向綁定
prop屬性名可以自定義外邓,不一定非要是value
場(chǎng)景:封裝彈框類得基礎(chǔ)組件,visible屬性控制顯示隱藏
用法::屬性.sync="xxx"? 等價(jià)于:屬性名和@update:屬性名 合寫(xiě)
父組件
子組件
案例