10.父访问子--(children+refs)

<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>
原文地址:https://www.cnblogs.com/yanglaxue/p/14208092.html