Vue兄弟組件之間通信


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./js/vue.js"></script>
</head>
<body>
    <div id="app">
         <child-1></child-1>
         <child-2></child-2>
    </div>
    <script>
        //1.創建公共的vue對象
        var bridge = new Vue();

        //2.創建兩個兄弟組件
        Vue.component('child-1',{
            template:`
            <div>
                <input type="button" value="1->2" @click="sendData"/>
            </div>
            `,
            methods:{
                sendData:function(){
                    bridge.$emit('OneToTwoEvent','Hello 2, I am 1');
                }
            }
        });

        Vue.component('child-2',{
            template:`
            <div>
                <h4>{{msg}}</h4>
            </div>
            `,
            data:function(){
                return {
                    msg:''
                }
            },
            mounted:function(){
                bridge.$on('OneToTwoEvent',function(msg){
                    console.log('收到來自1的:'+msg);
                    this.msg=msg;
                })
            }
        })
        



        var vm = new Vue({
            el:"#app"
        })
    </script>
 
</body>
</html>

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM