父组件访问子组件$children,$refs

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <cpn1></cpn1>
        <cpn2 ref="aaa"></cpn2>
       <button @click="btnClick">按钮</button>
    </div>

    <template id="cpn1">
        <div>子组件1</div>
    </template>
    <template id="cpn2">
        <div>子组件2</div>
    </template>
   
    <script>
        Vue.component('cpn1',{
            template:'#cpn1',
            data(){
                return{
                    message:'cpn111'
                }
            }
        });
        Vue.component('cpn2',{
            template:'#cpn2',
            data(){
                return{
                    message:'cpn222'
                }
            },
            methods:{
                show(){
                    console.log("我是子组件的方法");
                }
            }
        });

        const app = new Vue({
            el:'#app',
            data:{
                message:'hello world'
            },
            methods:{
                btnClick(){
                    console.log(this.$children);//返回子组件类型的数组
                    console.log("访问子组件的属性:",this.$children[0].message);//cpn111

                    console.log("通过refs访问子组件的属性:",this.$refs.aaa.message);//cpn222
                    this.$refs.aaa.show();//我是子组件的方法
                   
                }
            }
        })
    </script>
</body>

</html>

 

 

 

 

posted @ 2022-02-27 11:22  Mr_sven  阅读(30)  评论(0编辑  收藏  举报