美文网首页vue
vue组建非父子通信

vue组建非父子通信

作者: 匆匆那年_海 | 来源:发表于2019-05-13 16:52 被阅读4次

    子-->子 (可以通过使用一个空的Vue实例作为中央事件总线,也可以使用app实例)

    使用app实例,main.js中将bus挂载到vue原型上
    let bus = new Vue();
    Vue.prototype.bus = bus;
    
    header组件代码
    <template>
        <header @click="changeTitle">{{title}}</header>
    </template>
    <script>
    export default {
        name: 'header',
        data () {
            return {
                title: '头部'
            }
        },
        methods: {
            changeTitle () {
                this.bus.$emit('toChangeTitle',this.title);
            }
        }
    }
    </script>
    
    footer组件代码
    <template>
        <footer>{{txt}}</footer>
    </template>
    <script>
    export default {
        name: 'footer',
        mounted () {
            this.bus.$on('toChangeTitle', function (a) {
                console.log(a);
            })
        },
        data () {
            return {
                txt: '尾部'
            }
        }
    }
    

    作者:匆匆那年__
    链接:https://www.jianshu.com/p/9ff3a757dbfd
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    相关文章

      网友评论

        本文标题:vue组建非父子通信

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