1. 程式人生 > >vue-父子組件

vue-父子組件

cli his ret urn inpu blog temp col value

1

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="bower_components/vue/dist/vue.js"></script>
    <style>
    </style>
</head>
<body>
    <div id="box">
        <
aaa> </aaa> </div> <script> var vm=new Vue({ el:#box, data:{ a:aaa }, components:{ aaa:{ template:<h2>我是aaa組件</h2><bbb></bbb>, components:{
bbb:{ template:<h3>我是bbb組件</h3> } } } } }); </script> </body> </html>

2

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8"
> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <aaa> </aaa> </div> <script> var vm=new Vue({ el:#box, data:{ a:aaa }, components:{ aaa:{ data(){ return { msg:我是父組件的數據 } }, template:<h2>我是aaa組件</h2><bbb></bbb>, components:{ bbb:{ template:<h3>我是bbb組件->{{msg}}</h3> } } } } }); </script> </body> </html>

3

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="bower_components/vue/dist/vue.js"></script>
    <style>
    </style>
</head>
<body>
    <div id="box">
        <aaa>
        </aaa>
    </div>

    <template id="aaa">
        <h1>11111</h1>
        <bbb :mmm="msg2"></bbb>
    </template>
    <script>
        var vm=new Vue({
            el:#box,
            data:{
                a:aaa
            },
            components:{
                aaa:{
                    data(){
                        return {
                            msg2:我是父組件的數據
                        }
                    },
                    template:#aaa,
                    components:{
                        bbb:{
                            props:[mmm],
                            template:<h3>我是bbb組件->{{mmm}}</h3>
                        }
                    }
                }
            }
        });

    </script>
</body>
</html>

4

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="bower_components/vue/dist/vue.js"></script>
    <style>
    </style>
</head>
<body>
    <div id="box">
        <aaa>
        </aaa>
    </div>

    <template id="aaa">
        <h1>11111</h1>
        <bbb :mmm="msg2" :my-msg="msg"></bbb>
    </template>
    <script>
        var vm=new Vue({
            el:#box,
            data:{
                a:aaa
            },
            components:{
                aaa:{
                    data(){
                        return {
                            msg:111,
                            msg2:我是父組件的數據
                        }
                    },
                    template:#aaa,
                    components:{
                        bbb:{
                            props:[mmm,myMsg],
                            template:<h3>我是bbb組件->{{mmm}} <br> {{myMsg}}</h3>
                        }
                    }
                }
            }
        });

    </script>
</body>
</html>

5.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="bower_components/vue/dist/vue.js"></script>
    <style>
    </style>
</head>
<body>
    <div id="box">
        <aaa>
        </aaa>
    </div>

    <template id="aaa">
        <h1>11111</h1>
        <bbb :mmm="msg2" :my-msg="msg"></bbb>
    </template>
    <script>
        var vm=new Vue({
            el:#box,
            data:{
                a:aaa
            },
            components:{
                aaa:{
                    data(){
                        return {
                            msg:111,
                            msg2:我是父組件的數據
                        }
                    },
                    template:#aaa,
                    components:{
                        bbb:{
                            props:{
                                m:String,
                                myMsg:Number
                            },
                            template:<h3>我是bbb組件->{{mmm}} <br> {{myMsg}}</h3>
                        }
                    }
                }
            }
        });

    </script>
</body>
</html>

6.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="bower_components/vue/dist/vue.js"></script>
    <style>
    </style>
</head>
<body>
    <div id="box">
        <aaa>
        </aaa>
    </div>

    <template id="aaa">
        <span>我是父級 -> {{msg}}</span>
        <bbb @child-msg="get"></bbb>
    </template>
    <template id="bbb">
        <h3>子組件-</h3>
        <input type="button" value="send" @click="send">
    </template>
    <script>
        var vm=new Vue({
            el:#box,
            data:{
                a:aaa
            },
            components:{
                aaa:{
                    data(){
                        return {
                            msg:111,
                            msg2:我是父組件的數據
                        }
                    },
                    template:#aaa,
                    methods:{
                        get(msg){
                            // alert(msg);
                            this.msg=msg;
                        }
                    },
                    components:{
                        bbb:{
                            data(){
                                return {
                                    a:我是子組件的數據
                                }
                            },
                            template:#bbb,
                            methods:{
                                send(){
                                    this.$emit(child-msg,this.a);
                                }
                            }
                        }
                    }
                }
            }
        });

    </script>
</body>
</html>

vue-父子組件