vue使用v-model進(jìn)行跨組件綁定的基本實(shí)現(xiàn)方法
大家好,今天我們來說一下使用v-model實(shí)現(xiàn)父子組件的綁定效果
1:簡單版代碼如下:
父組件:
<template> <div> // 3:使用子組件,并使用v-model綁定 <About v-model="father"/> </div> </template> <script> // 1:引入子組件 import About from "./About"; export default { // 2:注冊子組件 components: { About, }, data() { return { // 值給空 father:'' } }, // 監(jiān)聽組件數(shù)據(jù)的變化 watch:{ father(val){ console.log(val); } } }; </script>
子組件:
<template> <div> // 2:使用v-model綁定 <input type="text" v-model="son"> </div> </template> <script> export default { // 1:接收父組件的信息 props: { value:{ type:String, default:'' } }, data() { return { // 3:賦空值 son:'' } }, // 4:監(jiān)聽 如果改變 watch:{ // 把value賦值給son value(){ // 這里的this.value是props里的value this.son = this.value }, // 把son傳遞給父組件 son(){ this.$emit('input',this.son) } } } </script>
至于為什么子組件向父組件傳遞時,$emit的第一個參數(shù)為'input',有興趣的同行可以去了解一下v-model實(shí)現(xiàn)的原理
2:下面進(jìn)入項(xiàng)目中的使用(獲取子組件的圖片地址,傳給父組件,同步更新圖片信息)
基本上差不多
Ⅰ:在父組件內(nèi)引入子組件,并在子組件標(biāo)簽內(nèi)使用v-model,賦值為空
(UploadImg標(biāo)簽 是引入的 子組件)
Ⅱ:接著在子組件內(nèi)使用 props接收:
Ⅲ:在子組件 頁面 內(nèi)同樣使用v-model,并在data內(nèi)賦值為空 圖片:
Ⅳ:在子組件內(nèi)使用watch用來監(jiān)聽其變化
分解圖上代碼:
value函數(shù)把傳來的父組件賦值給子組件,this.value也就是props里的value
value() { this.SonStaffPhoto = this.value console.log(this.SonStaffPhoto) }
這里是v-model綁定的子組件函數(shù),用來把自己傳遞給父組件
SonStaffPhoto() { this.$emit('input', this.SonStaffPhoto) },
到這里你就可以把想傳遞給父組件的內(nèi)容賦值給 this.SonStaffPhoto了(我賦值給了用來保存圖片地址的變量)
Ⅴ:也可以在父組件里監(jiān)聽其變化:
父組件里的this.staffPhoto,同樣可以把想綁定的內(nèi)容賦值給它(我賦值給了最新的圖片變量,這樣就過實(shí)現(xiàn)了子組件圖片更新,父組件也同步更新的效果)
總結(jié)
到此這篇關(guān)于vue使用v-model進(jìn)行跨組件綁定的基本實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)vue用v-model跨組件綁定內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- vue3自定義組件之v-model實(shí)現(xiàn)父子組件雙向綁定
- vue中v-model和響應(yīng)式的實(shí)現(xiàn)原理解析
- vue自定義組件實(shí)現(xiàn)v-model雙向綁定數(shù)據(jù)的實(shí)例代碼
- 淺談vue實(shí)現(xiàn)雙向事件綁定v-model的原理
- vue.js使用v-model實(shí)現(xiàn)父子組件間的雙向通信示例
- vue.js自定義組件實(shí)現(xiàn)v-model雙向數(shù)據(jù)綁定的示例代碼
- vue3實(shí)現(xiàn)v-model原理詳解
- Vue v-model實(shí)現(xiàn)案例介紹
相關(guān)文章
Vue3中進(jìn)行二維碼的生成與解碼實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了Vue3中進(jìn)行二維碼的生成與解碼實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03Element的el-tree控件后臺數(shù)據(jù)結(jié)構(gòu)的生成以及方法的抽取
這篇文章主要介紹了Element的el-tree控件后臺數(shù)據(jù)結(jié)構(gòu)的生成以及方法的抽取,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Cookbook組件形式:優(yōu)化 Vue 組件的運(yùn)行時性能
本文仿照Vue Cookbook 組織形式,對優(yōu)化 Vue 組件的運(yùn)行時性能進(jìn)行闡述。通過基本的示例代碼給大家講解,需要的朋友參考下2018-11-11Vue.$set 失效的坑 問題發(fā)現(xiàn)及解決方案
這篇文章主要介紹了Vue.$set 失效的坑 問題發(fā)現(xiàn)及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07vue設(shè)置導(dǎo)航欄、側(cè)邊欄為公共頁面的例子
今天小編就為大家分享一篇vue設(shè)置導(dǎo)航欄、側(cè)邊欄為公共頁面的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11