- 父子組件的通信方法
首先父組件需要v-bind綁定數(shù)據(jù),在子組件中用props進(jìn)行接收數(shù)據(jù),這樣,父組件中的數(shù)據(jù)變動(dòng)時(shí),就可以即時(shí)通知到子組件
子組件如果要與父組件進(jìn)行通信的話,子組件需要自定義事件$emit,父組件可以在使用子組件的地方直接用 v-on 來(lái)監(jiān)聽(tīng)子組件觸發(fā)的事件
// parent.vue
<template>
<div class="parent">
<p>父親:給你{{ money }}元零花錢</p>
<kid :money=" money" @repay="repay"></kid>
<br>
<button @click="add">那給你加100</button>
<p v-if="back" @repay="repay">兒子:超過(guò)300我不要,還給你 {{ back }}元</p>
</div>
</template>
<script>
export default {
name: 'parent',
data () {
return {
money: 100,
back: 0
}
},
components:{ kid },
methods:{
repay (back) {
this.back = back
},
add(){
this.money += 100;
}
}
</script>
2.爺孫組件的通信是一級(jí)級(jí)上傳,并不會(huì)冒泡,也就是說(shuō)最底層需要一層層向外通知才可以到達(dá)最外層