<body>
<div id="app">
<cpn></cpn>
<cpn></cpn>
<cpn ref="aaa"></cpn>
<button @click="btnClick">点击</button>
</div>
<template id="cpn">
<div>
<h3>我是子组件</h3>
</div>
</template>
<script src='https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js'></script>
<script>
const cpn = {
template: "#cpn",
methods: {
showMessage() {
console.log("showMessage");
}
},
data() {
return {
name: "我是子组件的name"
}
}
}
const app = new Vue({
el: '#app',
data: {
},
components: {
cpn,
},
methods: {
btnClick() {
// 父组件访问子组件 用 .$children 或者 .$refs
// console.log(this.$children);
// this.$children[0].showMessage();
// for (let c of this.$children) {
// console.log(c.name);
// c.showMessage()
// }
// .$refs 用的更多 因为如果有多个不同的子组件时 更方便访问
// .$refs 默认是一个空对象 要在需要访问的那个子组件上写一个名字 比如 ref="aaa"
console.log(this.$refs.aaa.name);
}
}
})
</script>
</body>