美文网首页
Vue组件通信

Vue组件通信

作者: 狻猊Cxx | 来源:发表于2019-06-28 12:25 被阅读0次

从上到下(父传子)

  • 在父组件的组件标签上通过v-bind绑定要传递的数据,然后在子组件内部通过props接收
// 父组件
<select-list :dataList="dataArr" @parentReceive="changeVal"/>
// 子组件
props: ['dataList']    

从下到上(子传父)

  • 在子组件中定义一个方法,然后在方法里面通过this.emit进行传递(emit有两个参数(自定义事件名称,要传递的数据));
selectVal (val) {
      // 第一步
      this.$emit('parentReceive', val) // 第一个参数:自定义事件名称;第二个参数要传递的数据
}
  • 在父组件的子组件标签上通过@自定义事件名称监听,然后通过回调函数去处理响应的逻辑
<template>
    <select-list :dataList="dataArr" @parentReceive="changeVal"/>
 </template>

 <script>
     changeVal (val) {
      console.log(`我是子组件传递过来的数据${val}`)
    }  
 </script>

兄弟组件之间的传值

  • 方法一:先子传父,在父传子
  • 方法二:借助中央事件通信(跨组件通信)

(1)在要传递数据的组件通过$emit(自定义事件名称,要传递的数据)

import bus from '../../main'
selectVal (val) {
      bus.$emit('reveive', val)
    }

(2)在目标组件通过on进行监听接收on('自定义事件名称', 回调函数)

import bus from '../../main'
bus.$on('reveive', val => {
      console.log(val)
      this.value = val
 })

(3)PS:emit &on都要挂载到Vue空实例上,而这个空实例要全局使用因此需要在main.js创建

let bus = new Vue()
export default bus

相关文章

  • vue组件之间通信

    vue 组件之间通信 vue组件之间通信方式: 1.父组件通过props向下传数据给子组件,子组件通过$emit事...

  • 【Vue】组件通信(任意通信)

    本节所需的基础知识: 【Vue】组件通信(父传子props) 【Vue】组件通信(子传父$emit) 任意组件相互...

  • vue 组件通信方式 ,父子、隔代、兄弟 三类通信,六种方法

    Vue 组件间通信只要指以下 3 类通信:父子组件通信、隔代组件通信、兄弟组件通信,下面分别介绍每种通信方式且会说...

  • Vue相关知识点

    1、vue父子组件之间的通信 在vue组件通信中其中最常见通信方式就是父子组件之中的通性,而父子组件的设定方式在不...

  • Vue如何实现组件通信?

    Vue组件通信的三种情况: 父子通信 爷孙通信 兄弟通信 父子通信:父组件使用Prop向子组件传递数据,子组件通过...

  • VUE组件(传值,生命周期)

    VUE生命周期 VUE子传父组件通信 VUE非父子组件传值

  • Vue组件通信

    Vue组件通信 Vue组件关系可分为三大类: 父子组件 兄弟组件 跨级组件, 相应的组件之间的通信也分类三大类: ...

  • vue组件间通信的一些实用方法(VUE2.x)

    vue组件间通信的一些实用方法(VUE2.x) 一、父子组件间通信 常用的父子组件通信方法,一般涉及props和$...

  • vue组件通信(传值)

    1.父子通信 1.父组件(parent.vue) 子组件(child.vue) 2.子父通信 1.子组件(chil...

  • Vue组件通信

    总体来说,Vue中组件之间的通信场景如下图: 可以将其分为父子组件通信、兄弟组件通信、跨级组件通信。 1. 自定义...

网友评论

      本文标题:Vue组件通信

      本文链接:https://www.haomeiwen.com/subject/tzjscctx.html