美文网首页
Vue组件通信

Vue组件通信

作者: 九瀺 | 来源:发表于2019-12-30 15:41 被阅读0次

父子组件相互通信

  1. 父传子 父组件在调用的子组件标签上添加额外属性,如v-bind:message="msg" 将父组件中的msg属性传递给子组件(如果传递死数据,可以不使用指令)
    子组件通过props来接受父组件传递的数据,如props:{'message'}
    子组件接收和父组件传递名称必须一样
  2. 子组件自定义事件,通过$emit 向父组件传递数据,如 子组件
onClick(){
  this.$emit('showData',{name:'hello'})
}

父组件调用:

<child @showData = 'show'></child>

methods(){
  show(data){
  this.name = data.name
  }
}

  1. 父组件访问子组件可以使用$children来获取一个包含所有子组件(vueCommponet)的数组,可以通过下标
    索引来获取相对应的子组件的数据。
    子组件访问父组件可以使用$parent来获取父组件的数据(不推荐)
  2. 向子组件添加ref属性,父组件通过$refs根据ref属性值来定位子组件,从而获取子组件的数据
    $refs 只会在组件渲染完成之后生效,并且它们不是响应式的。这仅作为一个用于直接操作子组件的“逃生舱”——你应该避免在模板或计算属性中访问 $refs。

非父子组件通信

1.通过父组件进行通信
2.通过建立公共仓库进行通信
在所有组件最上层建立一个中央事件总线(bus)

import Vue from 'vue'
var PublicEvent = new Vue()
export default PublicEvent

如 从组件1调用组件2 中的方法和数据
在组件1和2中都需要引入中央事件总线PublicEvent
在组件2 中,定义一个事件,通过该事件触发PublicEvent.$emit('名称',需要传递的值)

在组件1中,通过钩子函数mounted在初始化组件时调用PublicEvent.$on('名称',func)

相关文章

  • 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/zflmoctx.html