<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
</head>
<body>
<div id="app1">
<com-a></com-a>
<com-b></com-b>
<com-c></com-c>
</div> </body>
<script>
var A={
template:`
<div>
<span>我是组件A</span> -->{{a}}
<input type ="button" value ="把A数据传给C">
</div>
`,
data(){
return{
a:'我是a数据'
}
}
};
var B={
template:`
<div>
<span>我是组件B</span> -->{{b}}
<input type ="button" value ="把B数据传给C">
</div>
`,
data(){
return{
b:'我是b数据'
}
} };
var C={
template:`
<div>
<span>我是组件C</span> -->{{c}}
<input type ="button" value ="把C数据传给A">
</div>
`,
data(){
return{
c:'我是c数据'
}
}
}; var app =new Vue({
el:"#app1",
data:{ a:'我是父组件的数据' },
/*//子组件,利用props进行数据传递:*/
components:{
'com-a':A,
'com-b':B,
'com-c':C
}
});
</script>
</html>

案例基础页面:

展示结果:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.21/dist/vue.js"></script>
</head>
<body>
<div id="app1">
<com-a></com-a>
<com-b></com-b>
<com-c></com-c>
</div> </body>
<script>
/*全局的*/
var vm =new Vue(); var A={
template:`
<div>
<span>我是组件A</span> -->{{a}}
<input type ="button" value ="把A数据传给B" @click="send">
</div>
`,
data(){
return{
a:'我是a数据'
}
},
methods:{
send(){
vm.$emit('a-msg',this.a)
}
}
};
var B={
template:`
<div>
<span>我是组件B</span> -->{{b}}
<input type ="button" value ="把B数据传给C">
</div>
`,
mounted(){
vm.$on('a-msg',function(a){
alert(a);
this.b =a;
/*将this绑定给当前函数,引用当前函数*/
}.bind(this));
},
data(){
return{
b:'我是b数据'
}
} };
var C={
template:`
<div>
<span>我是组件C</span> -->{{c}}
<input type ="button" value ="把C数据传给A">
</div>
`,
data(){
return{
c:'我是c数据'
}
}
}; var app =new Vue({
el:"#app1",
data:{ a:'我是父组件的数据' },
/*//子组件,利用props进行数据传递:*/
components:{
'com-a':A,
'com-b':B,
'com-c':C
}
});
</script>
</html>

之前结果:

传递之后的值:

vue.js组件之j间的通讯三,通过单一事件来管理组件通讯的更多相关文章

  1. vue.js组件之j间的通讯四,通过单一事件来管理组件通讯

    总结; 首先需要创建是一个空实例: var vm = new Vue(); vm.$emit(事件,数据); vm.$on(事件,function(data){ }bind(this))

  2. 单一事件中心管理组件通信( vuex )

    有时候两个组件也需要通信(非父子关系).在简单的场景下,可以使用一个空的 Vue 实例作为中央事件总线: 补充$emit ,$on的讲解 代码: <!DOCTYPE html> <h ...

  3. webpack+vue 组件间传参(单一事件中心管理组件通信--$root),如果有路由的话会失效

    先给一个例子: <body> <div id="box"> <com-a></com-a> <com-b></co ...

  4. vue2 单一事件中心管理组件通信

  5. vue.js组件之j间的通讯一 子组件接受父祖件数据

    Vue2.0的三种常用传值方式.父传子.子传父.非父子组件传值 在Vue的框架开发的项目过程中,经常会用到组件来管理不同的功能,有一些公共的组件会被提取出来.这时必然会产生一些疑问和需求?比如一个组件 ...

  6. vue.js组件之j间的通讯二

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  7. Vue.js教程--基础(实例 模版语法template computed, watch v-if, v-show v-for, 一个组件的v-for.)

    官网:https://cn.vuejs.org/v2/guide/index.html Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统. 视频教程:https: ...

  8. vuejs组件交互 - 02 - 事件中心管理组件间的通信

    事件中心 这个可以是一个空的全局的Vue实例,其他的组件利用这个实例emit和on自定义事件,这样组件定义了自己的事件处理方法. import Vue from 'Vue' window.eventH ...

  9. 聊聊Vue.js组件间通信的几种姿势

    写在前面 因为对Vue.js很感兴趣,而且平时工作的技术栈也是Vue.js,这几个月花了些时间研究学习了一下Vue.js源码,并做了总结与输出. 文章的原地址:https://github.com/a ...

随机推荐

  1. QTP11使用DOM XPath以及CSS识别元素对象

    我们知道,像DOM,Html,CSS,XPath等对对象的识别策略广泛运用于一些开源的工具,例如:Selenium,Watir,Watir-Webdriver,以前qtp版本是不支持这些东西的,现在q ...

  2. HDLM工具介绍

    HDLM提供了以下一些工具,以方便HDLM多路径管理. 1. dlmgetras hdlm信息收集工具,用来收集hdlm相关的各种日志.trace.配置等文件,以方便进行hdlm故障分析. 命令格式 ...

  3. spring的配置文件在web.xml中加载的方式

    web.xml加载spring配置文件的方式主要依据该配置文件的名称和存放的位置不同来区别,目前主要有两种方式. 1.如果spring配置文件的名称为applicationContext.xml,并且 ...

  4. javascript——事件处理模型(DOM 和 IE)

    javascript的事件处理模型分为 DOM事件处理模型和 IE事件处理模型. 一.DOM事件流模型 DOM事件流分为三个阶段:捕获阶段.目标阶段.冒泡阶段. 捕获阶段:自上而下,由document ...

  5. SQL Server——事务嵌套(未完工)

    http://www.cnblogs.com/Kymo/archive/2008/05/14/1194161.html 先看一下SQL Server Online Help相关的说明 Begin Tr ...

  6. IOS AppStore上线前测试

    IOS  AppStore上线前测试 TestFlight Beta ios 8才开始支持. https://developer.apple.com/library/ios/documentation ...

  7. 新创建的maven项目,显示的jdk版本与使用的不一致

    解决:是在安装的maven中的setting.xml配置文件中添加 在setting.xml配置文件中的<profiles></profiles>这个元素中加以下代码 如果加上 ...

  8. springmvc 路径问题

    web项目中的相对路径可以分为二类: 1.以斜杠开头:以斜杠开头的又分为二类(分类依据是斜杠出现的位置):如果出现在java代码或者配置文件(xml,properties等),这个路径叫做后台路径. ...

  9. Python 安装 django框架

    1.安装 pip install django 2.创建项目 d:/www/django文件夹下右键->打开dos窗口 输入: python C:\ProgramData\Miniconda3\ ...

  10. 阿里云 linux搭建git服务器

    git是非常方便的版本控制工具,目前网上有很多免费的git仓库可以给我们使用,但是有些时候我们并不放心将我们的项目寄放在别人的服务器上,这个时候就需要自己搭建一个git服务器. 在linux上面搭建g ...