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

vue中组件的通信方式

作者: 芒果二十 | 来源:发表于2019-05-29 14:06 被阅读0次

在vue项目开发中,组件之间进行数据传递,是必不可少的,那么今天就来总结一下vue中组件通信的集中方式。

一、父子组件之间传递数据

父子组件之间的数据传递分为父传子和子传父。
父传子:
1.props传递
在父组件调用子组件时传递一个prop

<child :title="title"></child>

对应的在子组件去接收这个prop

export default {
  props: ['title']
}

一般来说,不推荐在子组件中修改prop的值,会导致数据流向混乱,如果要修改,请将这个值保存到data中
有些情况下,需要双向绑定prop,请使用this.$emit('update:title', newTitle)触发prop的更新,然后在父组件中去监听这个emit

<child :title="title" @update:title="title=$event"></child>
// 可以简写为
<child :title.sync="title"></child>

2.props传递数据十分方便,缺点在于有多层组件嵌套时,需要每一级都使用prop传递和接收,很是麻烦。vue2.4提供attrs和listeners解决这个问题。
attrs接收父级作用域所有非prop和非class,style传递的属性,在内部组件中通过v-bind="$attrs"
listeners属性中包含了父作用域中b不含.native修饰符的所有v-on监听器,使用v-bind="$listeners"传递给内部组件,这两个属性在创建高级组件时十分有用
3.provide和inect
父组件通过provide来提供变量,子组件通过inject注入变量
4.父组件通过v-model默认传递一个value的prop,在子组件中触发一个emit('input', value)改变父组件的值
5.parent和$children

相关文章

  • vue Bus总线

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

  • Vue相关知识点

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

  • 面试题整理

    vue vue中8种组件通信方式[https://juejin.cn/post/68449038871623106...

  • 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组件间通信方式 快速原型开发 可以快速识别.vue文件封装组件插件等功能 一.Props传递数据 在父组件中...

  • vue中组件通信方式

    学习 2019-6-19 vue是数据驱动视图更新的框架, 所以对于vue来说组件间的数据通信非常重要,那么组件之...

  • Vue组件通信方式

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

网友评论

      本文标题:vue中组件的通信方式

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