Vue父子傳遞實(shí)例講解
實(shí)現(xiàn)功能:
1、子組件的input輸入,改變父組件信息
2、父組件對(duì)子組件1,3進(jìn)行監(jiān)聽與控制
3、子組件1與子組件3相互關(guān)聯(lián)
父子雙向通信流程:
子組件的input通過(guò)事件監(jiān)聽->控制子組件的data中變量/向父組件$emit子事件及變量
父組件監(jiān)聽到$emit事件及變量,賦予父組件的變量,通過(guò)props傳到子組件
<body> <div id = "app"> <!-- //將父組件num1的數(shù)據(jù)傳給props中的pnumber1,實(shí)現(xiàn)父?jìng)髯? //監(jiān)聽子組件num1change事件,這里recdnum1函數(shù),沒(méi)明白加括號(hào)出錯(cuò) --> <cnp :pnumber1 = "num1" :pnumber3 = "num3" @num1change = "recdnum1" @num3change="recdnum3" > </cnp> </div> <!-- //template 編寫自己的模版 --> <template id = "mytemp"> <div> <h3>props:{{pnumber1}}</h3> <h3>child-data:{{dnumber1}}</h3> <h3></h3> <input type="text" :value="dnumber1" @input="num1input"> <h3>props:{{pnumber3}}</h3> <h3>child-data:{{dnumber3}}</h3> <input type="text" :value="dnumber3" @input="num3input"> </div> </template> <script> var app = new Vue({ el:"#app", data(){ return{ //父組件數(shù)據(jù)庫(kù)中的默認(rèn)數(shù)值 num1:11, num3:31, } }, methods:{ //監(jiān)聽事件中,將子組件傳來(lái)的dnumber1傳給num1,num1傳給pnumber1 recdnum1(value){ //默認(rèn)傳遞來(lái)的value為String,根據(jù)需要轉(zhuǎn)為Int或Float this.num1 = parseInt(value); }, recdnum3(value){ this.num3=parseFloat(value); } }, components: { cnp:{ template:"#mytemp", props: { pnumber1:{ //默認(rèn)props的數(shù)據(jù)格式和默認(rèn)值 type:Number, default:1 }, pnumber3:{ type:Number, default:3 } }, data(){ return{ //將props的數(shù)值賦予data中變量 dnumber1:this.pnumber1, dnumber3:this.pnumber3 } }, methods: { num1input(event){ //將input中的數(shù)值傳給dnumber1 this.dnumber1 = event.target.value; //向父組件發(fā)射事件num1change,并傳出dnumber1數(shù)據(jù) this.$emit("num1change",this.dnumber1); //綁定pnumber3數(shù)值的關(guān)聯(lián)性 this.dnumber3=this.dnumber1*5; //向父組件發(fā)射pnumber3信息 this.$emit("num3change",this.dnumber3); }, num3input(event){ this.dnumber3 = event.target.value; this.$emit("num3change",this.dnumber3) }, } } } }); </script> </body>
以上就是相關(guān)的實(shí)例代碼,希望腳本之家整理的內(nèi)容能夠幫助到大家。
相關(guān)文章
使用vue打包時(shí)vendor文件過(guò)大或者是app.js文件很大的問(wèn)題
這篇文章主要介紹了使用vue打包時(shí)vendor文件過(guò)大或者是app.js文件很大問(wèn)題的解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06vue打印功能實(shí)現(xiàn)的兩種方法總結(jié)
在項(xiàng)目中,有時(shí)需要打印頁(yè)面的表格,所以下面這篇文章主要給大家介紹了關(guān)于vue打印功能實(shí)現(xiàn)的兩種方法,以及批量打印的完整代碼,需要的朋友可以參考下2021-06-06Vue封裝一個(gè)簡(jiǎn)單輕量的上傳文件組件的示例
這篇文章主要介紹了Vue封裝一個(gè)簡(jiǎn)單輕量的上傳文件組件的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-03-03vue + canvas實(shí)現(xiàn)涂鴉面板的示例代碼
這篇文章主要給大家介紹了vue + canvas實(shí)現(xiàn)涂鴉面板的示例,文章通過(guò)代碼示例介紹的非常詳細(xì),感興趣的小伙伴跟著小編一起來(lái)看看吧2023-08-08mpvue微信小程序開發(fā)之實(shí)現(xiàn)一個(gè)彈幕評(píng)論
這篇文章主要介紹了mpvue小程序開發(fā)之 實(shí)現(xiàn)一個(gè)彈幕評(píng)論功能,本文通過(guò)實(shí)例講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11基于Vue實(shí)現(xiàn)自定義組件的方式引入圖標(biāo)
在vue項(xiàng)目中我們經(jīng)常遇到圖標(biāo),下面這篇文章主要給大家介紹了關(guān)于如何基于Vue實(shí)現(xiàn)自定義組件的方式引入圖標(biāo)的相關(guān)資料,文章通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-07-07如何利用vue+vue-router+elementUI實(shí)現(xiàn)簡(jiǎn)易通訊錄
這篇文章主要介紹了如何利用vue+vue-router+elementUI實(shí)現(xiàn)簡(jiǎn)易通訊錄,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-05-05