美文网首页
非父子组件$emit()

非父子组件$emit()

作者: SuperHong521 | 来源:发表于2018-09-25 08:23 被阅读0次
<div class="box">
        <first></first>
        <second></second>
    </div>
    
    <script src="js/vue.js"></script>
    <script>
        var sent = new Vue()//中间量

        Vue.component("first",{
            template:`
                <div>
                    <h1>这是first组件</h1>
                    <button @click='add'>传送数据</button>
                </div>
            `,
            data:function(){
                return{
                    msg:'hello vue'
                }
            },
            methods:{
                add:function(){
                    sent.$emit("sentMsg",this.msg) 
                }
            }
        })
        
        Vue.component("second",{
            template:`
                <div>
                    <h1>这是second组件</h1>
                    <p>{{mess}}</p>
                </div>
            `,
            data:function(){
                return{
                    mess:''
                }
            },
             mounted:function(){//因为mounted是vue的生命周期,所以用箭头函数用this指向组件
                sent.$on("sentMsg",msg=>{
                    this.mess = msg
                })
            }

        })
        
        new Vue({
            el:'.box'
        })
    </script>

QQ图片20180925082307.png

相关文章

网友评论

      本文标题:非父子组件$emit()

      本文链接:https://www.haomeiwen.com/subject/onrkoftx.html