VUE 组件间通信

  1. 父传子
// 父组件
<note-address :data="msg"></note-address> 

//子组件

<div>{{ data.partment }}</div>

export default {
  //props:[‘data‘]
  props: {
    data: Object
  }
}
  1. 子传父
//父组件
<note-address @new="addNote"></note-address> 

//子组件
<button type="small" class="confirm" @click="add">设为教案</button>

methods: {
 add () {
  this.$emit(‘new‘, false)
 }
}
  1. 兄弟相传
1.创建 公共bus.js

//bus.js
import Vue from ‘vue‘
export default new Vue()

2.父组件注册两个子组件
components:{
    firstChild,
    secondChild
}

3.firstChild组件

<input type="button" value="点击触发" @click="elementByValue">

<script>
// 引入公共的bug,来做为中间传达的工具
  import Bus from ‘./bus.js‘
  export default {
      methods: {
      elementByValue: function () {
        Bus.$emit(‘val‘, ‘兄弟,收到了吗?‘)
      }
    }
  }
</script>

4.secondChild组件

<span>{{msg}}</span>

<script>
// 引入公共的bug,来做为中间传达的工具
  import Bus from ‘./bus.js‘
  export default {
      mounted(){
            let self = this;
            Bus.$on(‘val‘, function (msg) {
                console.log(msg)
                self.msg = msg
            })
      }
    }
  }
</script>

原文地址:https://www.cnblogs.com/yaotu/p/10273109.html

时间: 2024-10-29 00:19:16

VUE 组件间通信的相关文章

vue组件间通信六种方式(完整版)

vue组件间通信六种方式(完整版) 前言 组件是 vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用.一般来说,组件可以有以下几种关系: 如上图所示,A 和 B.B 和 C.B 和 D 都是父子关系,C 和 D 是兄弟关系,A 和 C 是隔代关系(可能隔多代). 针对不同的使用场景,如何选择行之有效的通信方式?这是我们所要探讨的主题.本文总结了vue组件间通信的几种方式,如props.$emit/$on.vuex.$parent / $chil

Vue 组件间通信有哪几种方式?

父子通信 (1)父组件向子组件传值props <button-counter :title="send"></button-counter> Vue.component('button-counter', { props: ['title'], data: function() { return { count: 0 } }, 子向父通信 (2)子组件向父组件传值  $emit('enlarge-text',10)   on 子组件通过自定义事件向父组件传递数据

vue组件间通信子与父

二.组件间通信(子组件传值给父组件) 通过事件的方式来完成数据的传输. ①在父组件中 定义一个方法,用来接收子组件所通过事件传来的值 methods:{ recvMsg:function(msg){ //参数msg就是子组件通过事件出来的数据 }} ②绑定事件处理函数事件一般情况 都是自定义事件 <child-component @myEvent="recvMsg"></child-component> ③在子组件触发事件 事件名,值this.$emit('my

vue组件间通信

组件间通信 vue组件之间的通信方式包括父子通信.子父通信和非父子通信 父子间通信 <!-- 在父组件中使用子组件 --> <!-- 在父组件中向子组件传递数据,需要在子组件上面添加属性,使其值等于要传递的数据 --> <Child :childData="childData"></Child> // 父组件 // 引入子组件 import Child from './Child' export default { // 注册子组件 co

vue 和 react 组件间通信方法对比

vue 和 react 组件间通信方法对比 通信路径 vue的方法 react的方法 父组件 => 子组件 props(推荐).this.$refs.this.$children props 子组件 => 父组件 自定义事件($emit.$on)(推荐).this.$parent 回调函数(推荐) 非父子组件(兄弟组件.跨级组件) bus 高阶组件(推荐).自定义事件.context 原文地址:https://www.cnblogs.com/cag2050/p/9054840.html

vue组件间的通信之pubsub-js

本文介绍使用发布订阅的方式进行vue组件间的通信 我认为这种方式比较自由, 不存在组件间的关系问题 1. 首先安装pubsub-js npm install --save pubsub-js 2. 订阅方组件 import PubSub from 'pubsub-js' mounted(){ // 执行异常代码 // 订阅消息 PubSub.subscribe('deleteTodo',(msg,index)=>{ this.deleteTodo(index) // 调用deleteTodo方法

Vue2.0 实战项目(五) 组件间通信的方法

Vue组件之间通信分为三种情况:父组件向子组件通信.子组件向父组件通信.兄弟组件间通信. 一.父组件向子组件通信 通过props可以将值传递给子组件 <!-- 父组件 --><template> <div id="app"> <!-- 父子组件间通信 --> <child :message="toChildMsg"></child> </div> </template>

Android组件间通信——EventBus

在Android开发中,组件间通信一直是一个不可忽视的部分.当然,组件之间的通信有很多种方式可以选择,本文就利用EventBus通信的方式进行论述. EventBus是一个第三方框架,它的简单使用分为如下几步: 1. 下载框架源码,并导入工程中. 下载地址:https://github.com/greenrobot/EventBus 如果需要看如何导入并依赖工程,请转到另一篇博文:<Eclipse导入所依赖的Android项目> 2. 定义事件类,并广播事件 例如下面这个自定义事件类Messa

React独立组件间通信联动

React是现在主流的高效的前端框架,其官方文档 http://reactjs.cn/react/docs/getting-started.html 在介绍组件间通信时只给出了父子组件间通信的方法,而没有给出独立组件间通信的解决方案.这里我介绍一种不错的实现方式——signals. 第一步,我们要建立两个简单的react组件——一个进度条和一个输入框. 组件——进度条: var ProcessBar=React.createClass({ getInitialState:function(){