Vue父子傳遞實(shí)例講解
實(shí)現(xiàn)功能:
1、子組件的input輸入,改變父組件信息
2、父組件對(duì)子組件1,3進(jìn)行監(jiān)聽與控制
3、子組件1與子組件3相互關(guān)聯(lián)
父子雙向通信流程:
子組件的input通過事件監(jiān)聽->控制子組件的data中變量/向父組件$emit子事件及變量
父組件監(jiān)聽到$emit事件及變量,賦予父組件的變量,通過props傳到子組件
<body>
<div id = "app">
<!-- //將父組件num1的數(shù)據(jù)傳給props中的pnumber1,實(shí)現(xiàn)父?jìng)髯?
//監(jiān)聽子組件num1change事件,這里recdnum1函數(shù),沒明白加括號(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)聽事件中,將子組件傳來的dnumber1傳給num1,num1傳給pnumber1
recdnum1(value){
//默認(rèn)傳遞來的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文件過大或者是app.js文件很大的問題
這篇文章主要介紹了使用vue打包時(shí)vendor文件過大或者是app.js文件很大問題的解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06
vue打印功能實(shí)現(xiàn)的兩種方法總結(jié)
在項(xiàng)目中,有時(shí)需要打印頁(yè)面的表格,所以下面這篇文章主要給大家介紹了關(guān)于vue打印功能實(shí)現(xiàn)的兩種方法,以及批量打印的完整代碼,需要的朋友可以參考下2021-06-06
Vue封裝一個(gè)簡(jiǎn)單輕量的上傳文件組件的示例
這篇文章主要介紹了Vue封裝一個(gè)簡(jiǎn)單輕量的上傳文件組件的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-03
vue + canvas實(shí)現(xiàn)涂鴉面板的示例代碼
這篇文章主要給大家介紹了vue + canvas實(shí)現(xiàn)涂鴉面板的示例,文章通過代碼示例介紹的非常詳細(xì),感興趣的小伙伴跟著小編一起來看看吧2023-08-08
mpvue微信小程序開發(fā)之實(shí)現(xiàn)一個(gè)彈幕評(píng)論
這篇文章主要介紹了mpvue小程序開發(fā)之 實(shí)現(xiàn)一個(gè)彈幕評(píng)論功能,本文通過實(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)資料,文章通過示例代碼介紹的非常詳細(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è)參考。一起跟隨小編過來看看吧2019-05-05

