Vue非父子组件传值

假如咱们有两个子组件:Blog.vue 和News.vue 它们同为兄弟组件vue

我想实现News组件数据传递给Blog组件,app

步骤以下:this

一、建立一个js文件:VueEvent.js 代码以下:spa

import Vue from 'vue';

var VueEvent=new Vue();

export default VueEvent;

二、在New引入 上一步js文件,而且广播数据code

代码以下:blog

<template>
<div id="newapp">
<h1>我是新闻</h1>
<button @click="emitblog()">广播数据</button>
 
 </div>
</template>

<script>
import VueEvent from '../models/VueEvent.js';
export default {
   name:'mynews',
    data () {
        return {
         msg:'新闻传递过来的数据122'
        }
    }
    ,methods:{
        emitblog() {
            alert(1);
            //广播数据
            VueEvent.$emit("new-data",this.msg);
        }
    }
   

}
</script>

三、在blog里获取也引入步骤2js文件,而且获取数据ip

<template>
<div id="homeapp">
<h1>我是blog</h1>
 
 </div>
</template>

<script>
import VueEvent from '../models/VueEvent.js';
export default {
   name:'myblog',
    data () {
        return {
         msg:'blog'
        }
    }
     ,mounted() {
         //获取数据
            VueEvent.$on("new-data",function(data){
         alert(data);

      });
        }
   

}
</script>
相关文章
相关标签/搜索