一个项目都有一个根组件 App.vue

一个根组件下面可能会有多个自组件,例如:Hello.vue 和 Header.vue

Hello.vue 和 Header.vue 就是兄弟组件,那么这两个兄弟组件之间又是如何传值的呢?

一个项目都有一个根组件 App.vue

一个根组件下面可能会有多个自组件,例如:Hello.vue 和 Header.vue

Hello.vue 和 Header.vue 就是兄弟组件,那么这两个兄弟组件之间又是如何传值的呢?

// 第一步:引入个空的vue实例
import Vue from 'vue'
// 第二步:实例化这个空的vue
var vueEvent = new Vue();
// 第三步:将它暴露出去
export default vueEvent;

接下来:Hello是父组件,下面有两个:Header.vue组件和News.vue组件:

<template>
<div id="Hello">
{{title}}
<v-header></v-header>
<v-news></v-news>
</div>
</template>
<script>
import Header from './Header.vue';
import News from './News.vue';
export default {
name: 'Hello',
data () {
return {
title:'我是Hello组件'
}
},
methods:{
run(){},
},
components:{
'v-header':Header,
'v-news':News,
}
}
</script>

News.vue进行广播

<template>
<div id="News">
{{title}}
<input type="button" value="广播" @click="run()">
</div>
</template>
<script>
import vueEvent from '../model/vueEvent.js';
export default {
name: 'Header',
data () {
return {
title:'我是News组件'
}
},
methods:{
run(){
//进行广播
vueEvent.$emit('toHeader',this.title);
},
}
}
</script>

Header.vue进行接收

<template>
<div id="Header">
{{title}}
</div>
</template>
<script>
import vueEvent from '../model/vueEvent.js';
export default {
name: 'Header',
data () {
return {
title:'我是Header组件'
}
},
methods:{
run(){},
},
mounted(){
//加载的时候就要进行接收
vueEvent.$on('toHeader',function(data){
console.log(data);
})
}
}
</script>

vue--非父子组件之间的传值的更多相关文章

  1. vue 非父子组件之间的传值(Bus/总线/发布订阅模式/观察者模式)

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  2. Vue非父子组件之间的传值

    1.新建一个js文件  然后引入vue 实例化vue 最后暴露这个实例:实例化Vue对象的时候名称要小写,大写控制台报错,我也不知道什么原因: 2.在要广播的地方引入刚才定义的实例: 3通过VueEm ...

  3. vue中父子组件之间的传值、非父子组件之间的传值

    在Vue实例中每个组件之间都是相互独立的,都有自己的作用域,所以组件之间是不能直接获取数据.在项目开发中一个组件可能需要获取另一个组件的值,我们可以通过其他方法间接的获取.所以,获取的方法有以下几种: ...

  4. Vue—非父子组件间的传值(Bus/发布订阅模式/观察者模式/总线)

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. vue非父子关系之间通信传值

    第一种方法: 通过给vue实例添加自定义属性 <!DOCTYPE html> <html> <head> <meta charset="utf-8& ...

  6. 「Vue」父子组件之间的传值及调用方法

    a.父组件向子组件传值data(){},props数据区别data中的数据可读可写,是自己的数据props是个数组,中的数据是父组件传递过来的,只读不能写<login :dmsg='msg'&g ...

  7. vue非父子组件之间的通信

    https://www.cnblogs.com/chengduxiaoc/p/7099552.html   //vm.$emit( event, arg ) //触发当前实例上的事件 //vm.$on ...

  8. vue bus方式解决非父子组件间的传值

    对于非父子组件之间的传值 通常使用VUEX 和总线等方式解决 这里我聊聊发布订阅模式(总线) <body> <div class="app"> <ch ...

  9. vue项目中的父子组件之间的传值。

    首先说一下父子组件就是在一个vue文件中引入另一个vue文件,被引入vue文件就是子组件,引入vue文件的vue文件就是父组件.而在父组件中是不能直接调用子组件中的变量值的.下面详细说一下,父子组件之 ...

  10. 【Vue课堂】Vue.js 父子组件之间通信的十种方式

    这篇文章介绍了Vue.js 父子组件之间通信的十种方式,不管是初学者还是已经在用 Vue 的开发者都会有所收获.无可否认,现在无论大厂还是小厂都已经用上了 Vue.js 框架,简单易上手不说,教程详尽 ...

随机推荐

  1. C#文件操作工具类

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...

  2. ITIL之“变更管理”

    首先要说明的是ITIL的变更是指“上线系统的变更”,而不是指系统建设的变更. ITIL的变更的流程如下: 整个变更管理在实际操作中有几个注意点: 1. 现存的企业中,变更咨询委员会(CAB)可能只有信 ...

  3. symfony 命令

    1.创建Bundle php bin/console generate:bundle --namespace=Home/IndexBundle --format=yml  创建bundle会更新app ...

  4. PHP 使用redis

    <?php /*从平台获取数据库名*/ $dbname = ""; /*从环境变量里取host,port,user,pwd*/ $host = ''; $port = ''; ...

  5. php 内存分配

    php内核中的内存分配 使用的函数有 emalloc(), erealloc() ,这两个函数分别是malloc(),realloc()函数的封装 关于内存分配有四个容器:cache,小块内存链表,大 ...

  6. 架构设计:系统存储(28)——分布式文件系统Ceph(挂载)

    (接上文<架构设计:系统存储(27)--分布式文件系统Ceph(安装)>) 3. 连接到Ceph系统 3-1. 连接客户端 完毕Ceph文件系统的创建过程后.就能够让客户端连接过去. Ce ...

  7. Dubbo -- 系统学习 笔记 -- 示例 -- 多协议

    Dubbo -- 系统学习 笔记 -- 目录 示例 想完整的运行起来,请参见:快速启动,这里只列出各种场景的配置方式 多协议 可以自行扩展协议,参见:协议扩展 (1) 不同服务不同协议 比如:不同服务 ...

  8. VIM_manual

    VIM命令---Vi IMproved, a programmers text editor文本编辑 vim不同模式切换 输入模式 末行模式 光标移动 复制-粘贴-删除 可视模式 末行模式下的操作 v ...

  9. ibatis 引入多个model

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE sqlMap PUBLIC "- ...

  10. apache下配置php环境

    1. apache下载 http://httpd.apache.org/download.cgi 2. php下载 http://windows.php.net/download/ 3. 配置 apa ...