Vue2-单一事件管理组件通信

对上篇文字【vue2.0 中#$emit,$on的使用详解】的实例运用:

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4   <meta charset="UTF-8" />
  5   <title>Vue2-单一事件管理组件通信</title>
  6   <script src="vue.js"></script>
  7   <script type="text/javascript">
  8  /**
  9  *
 10  */
 11   //准备一个空的实例对象
 12   var vm = new Vue();
 13  /*----------------------------------组件A-------------------------------------------------*/
 14   //组件A
 15   var A = {
 16     template: `
 17       <div>
 18         <span>我是A组件的数据->{{a}}</span>
 19         <input type="button" value="把A数据传给C" @click = "send">
 20       </div>
 21     `,
 22     methods: {
 23       send () {
 24         vm.$emit("a-msg", this.a);
 25       }
 26     },
 27     data () {
 28       return {
 29         a: "我是a组件中数据"
 30       }
 31     }
 32   };
 33    /*----------------------------------组件B-------------------------------------------------*/
 34   //组件B
 35   var B = {
 36     template: `
 37       <div>
 38         <span>我是B组件的数据->{{a}}</span>
 39         <input type="button" value="把B数据传给C" @click = "send">
 40       </div>
 41     `,
 42     methods: {
 43       send () {
 44         vm.$emit("b-msg", this.a);
 45       }
 46     },
 47     data () {
 48       return {
 49         a: "我是b组件中数据"
 50       }
 51     }
 52   };
 53    /*----------------------------------组件C-------------------------------------------------*/
 54   //组件C
 55   var C = {
 56     template: `
 57       <div>
 58         <h3>我是C组件</h3>
 59         <span>接收过来A的数据为: {{a}}</span>
 60         <br>
 61         <span>接收过来B的数据为: {{b}}</span>
 62       </div>
 63     `,
 64     mounted () {
 65       //接收A组件的数据
 66       vm.$on("a-msg", function (a) {
 67         this.a = a;
 68       }.bind(this));
 69
 70       //接收B组件的数据
 71       vm.$on("b-msg", function (a) {
 72         this.b = a;
 73       }.bind(this));
 74     },
 75     data () {
 76       return {
 77         a: "",
 78         b: ""
 79       }
 80     }
 81   };
 82   window.onload = function () {
 83     new Vue({
 84       el: "#box",
 85       components: {
 86         "dom-a": A,
 87         "dom-b": B,
 88         "dom-c": C
 89       }
 90     });
 91   };
 92
 93   </script>
 94 </head>
 95 <body>
 96   <div id="box">
 97     <dom-a></dom-a>
 98     <dom-b></dom-b>
 99     <dom-c></dom-c>
100   </div>
101 </body>
102 </html>

以上就全部了,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

时间: 2024-11-05 17:32:45

Vue2-单一事件管理组件通信的相关文章

vue30-单一事件管理组件通信: vuex

------------------------------------------------------ 可以单一事件管理组件通信: vuex var Event=new Vue(); Event.$emit(事件名称, 数据) Event.$on(事件名称,function(data){ //data }.bind(this)); <!DOCTYPE html> <html lang="en"> <head> <meta charset=

vue2.0 组件通信

1.index.html  子组件直接修改父组件的数据 组件通讯: vm.$emit(); vm.$on(); 父组件和子组件: 子组件想要拿到父组件数据: 通过 props 之前,子组件可以更改父组件信息,可以是同步 sync 现在,不允许直接给父级的数据,做赋值操作 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>

vue组件通信

1.子组件如何快速改变父组件中传过来的值(通过引用传递的方式给子组件,子组件可以直接改变对象中的属性) // App.vue <template> <div> <News :a-msg="msg" :out-data="outData"></News> {{msg}} <h3>{{outData.a}}</h3> </div> </template> <script

Vue2.0子同级组件之间数据交互

接着我们进入Demo,首先我们可以删除掉模板项目中src/components/Hello.vue,然后在App.vue中删除对于Hello子组件的注册和使用还有一些其他无关紧要的东西,此时的App.vue应为这样 一 .我们先来创建中央事件总线,在src/assets/下创建一个eventBus.js,内容如下(eventBus中我们只创建了一个新的Vue实例,以后它就承担起了组件之间通信的桥梁了,也就是中央事件总线.) 二 . 创建一个firstChild组件,引入eventBus这个事件总

React组件通信的几种方式

需要组件之进行通信的几种情况? 父组件向子组件通信?? 子组件向父组件通信?? 跨级组件通信?? 没有嵌套关系组件之间的通信? 1. 父组件向子组件通信React数据流动是单向的,父组件向子组件通信也是最常见的;父组件通过props向子组件传递需要的信息?Child.jsximport?React?from?'react';import?PropTypes?from?'prop-types';export?default?function?Child({?name?})?{????return?

vue2.0 父子组件通信 兄弟组件通信

父组件是通过props属性给子组件通信的来看下代码: 父组件: <parent> <child :child-com="content"></child> //注意这里用驼峰写法哦 </parent> data(){ return { content:'sichaoyun' }; } 子组件通过props来接受数据 第一种方法 props: ['childCom'] 第二种方法 props: { childCom: String //这里

vue2.0父子组件通信的方法

vue2.0组件通信方法:props传值和emit监听.(.sync方法已经移除.详情请点击)(dispatch-和-broadcast方法也已经废弃) props方法传值:Props 现在只能单项传递.为了对父组件产生反向影响,子组件需要显式地传递一个事件而不是依赖于隐式地双向绑定.props方法传值比较简单,缺点是属性会比较多. (1)父传子 [ props传值 ] <template>  <div> <input type="text" v-mode

vue2.0组件通信各种情况总结与实例分析

Props在vue组件中各种角色总结 在Vue中组件是实现模块化开发的主要内容,而组件的通信更是vue数据驱动的灵魂,现就四种主要情况总结如下: 使用props传递数据---组件内部 //html <div id="app1"> <i>注意命名规定:仅在html内使用my-message</i> <child my-message="组件内部数据传递"></child> </div> //js

饿了么基于Vue2.0的通用组件开发之路(分享会记录)

Element:一套通用组件库的开发之路 Element 是由饿了么UED设计.饿了么大前端开发的一套基于 Vue 2.0 的桌面端组件库.今天我们要分享的就是开发 Element 的一些心得. 官网:http://element.eleme.io/#/github:https://github.com/ElemeFE/element ## 设计目的 大部分项目起源都是源于业务方的需求,Element 也是一样.随着公司业务发展,内部开始衍生出很多后台系统,UED 部门也接到越来越多的设计需求,