父組件獲取子組件:
1、加'ref'
2账锹、利用this.$refs.header.msg直接調(diào)用,獲取子組件數(shù)據(jù)
子組件獲取父組件:
直接用this.$parent.msg獲取
Home.vue(父):
<template>
<div>
<v-header ref="header"></v-header>
{{msg}}
<button @click="getChildData()">獲取子組件的數(shù)據(jù)和方法</button>
</div>
</template>
<script>
import Header from './Header.vue'//哪里用坷襟,就在那里引用(比如奸柬,Home.vue這個組件里要用,則在此處引入)
export default {
name: "home",
data(){
return {
msg:'我是一個首頁',
title:123,
}
},
methods:{
run(){
alert('我是父組件方法');
},
getChildData(){
alert(this.$refs.header.msg);//獲取子組件數(shù)據(jù)的方法
}
},
components:{
'v-header':Header,
}
}
</script>
<style scoped lang="scss">
h2{
color:red;
}
</style>
Header.vue(子):
<template>
<div>
<h2>我是一個頭部組件</h2>
<button @click="getParentData()">點擊獲取父組件數(shù)據(jù)和方法</button>
</div>
</template>
<script>
export default {
name: "header",
data(){
return {
msg:'子組件的數(shù)據(jù)',
}
},
methods:{
getParentData(){
alert(this.parent.run();
}
},
}
</script>
<style scoped>
</style>