美文网首页
vue组件通信方式

vue组件通信方式

作者: royluck | 来源:发表于2020-04-16 16:25 被阅读0次

参考:vue的8种通信方式


1、$emitprops 父子组件通信(常用)

2、 ref$refs 指向组件实例,可以访问到当前组件的子组件数据和调用子组件方法

3、 eventBus 通过实例一个组件,在需要进行通信的组件里引用该实例,通过$emit$on实现组件之间的事件监听和发布,(注意事件污染问题, 移除事件监听者:EventBus.$off('addition', {})

4、 vuex

5、 $attrs$listeners 子组件可以通过$attrs接收到除 class、style参数和子组件props声明过的参数以外的所有参数,如果孙组件也要获取到父组件的$attrs参数和触发方法,则需要把$attrs$listeners绑定在孙组件,如: <grand-child v-bind="$attrs" v-on="$listeners"></grand-child>

参考:Vue 新增的$attrs$listeners的详解

6、 provide / inject 支持跨级通信,不支持实响应式数据更新,使用场景:父组件把methods声明的方法通过provide传递,子(孙)组件调用inject注入该方法,这样就可以调用父辈组件的方法

7、 $parent$children(不推荐)$children返回当前组件内的所有子组件,如果没有返回空数组;$parent返回当前组件的父组件,如果没有则返回undefined

补充:inheritAttrs 该属性用于解决父组件在调用子组件时,传入非子组件props声明的参数,会造成对html标签的污染 如:<input></input>type属性

参考:补充一下:inheritAttrs属性

相关文章

  • Vue相关知识点

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

  • vue组件之间通信

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

  • Vue3 的 7 种和 Vue2 的 12 种组件通信

    Vue2.x组件通信12种方式写在后面了,先来 Vue3 的 Vue3 组件通信方式 props $emit ex...

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

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

  • Vue组件通信的几种方式【转】

    Vue组件通信的几种方式【转】 组件通信主要有以下几种方式:props,$emit和$on,vuex,$attrs...

  • Vue组件通信方式

    本文主要介绍关于Vue组件通信的四种方式,分别是父向子组件通信、子向父组件通信、非父子组件的EventBus通信、...

  • Vuex(一) —— 集中式的状态管理仓库

    目录 Vue组件间通信方式回顾组件内的状态管理流程组件间通信方式父组件给子组件传值 (最简单的一种方式)子组件给父...

  • vue Bus总线

    vue中我们经常遇到组件之间的通信,通常的通信方式有 父 → 子、子 → 父、兄弟组件 之间的通信。通常处理方式...

  • vue通信方式

    vue组件通信方式 使用props父传子 定义child组件 父组件传值