有时候需要父组件访问子组件,如访问子组件对象,调用它的方法和属性
一、代码
<!--作者: ikunsdc -->
<!--日期:2021/03/10 23:29-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<cpn></cpn>
<cpn></cpn>
<cpn ref="aaa"></cpn>
<button @click="btnClick">按钮</button>
</div>
<template id="cpn">
<div>我是子组件</div>
</template>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
const app = new Vue({
el:"#app",
data:{
},
methods:{
btnClick(){
// 1. 真实开发中,一般不用$children==========》数组类型
// console.log(this.$children);
// this.$children[0].showMessage();
// this.$children[0].name
// for (let c of this.$children){
// console.log(c);
// c.showMessage();
// }
// 2.通过$refs拿取数据=====>对象类型,默认是一个空的对象
console.log(this.$refs);
}
},
components:{
cpn:{
template:'#cpn',
data(){
return{
name:"我是子组件的name"
}
},
methods:{
showMessage(){
console.log("showMessage");
}
}
}
}
})
</script>
</body>
</html>
二、运行
注意:
由于组件的复用性,组件中使用到了children 时,复用时要注意是否有子组件。refs 使用较多。
—— Git ——