美文网首页
vue组件间比较常见的通讯方式

vue组件间比较常见的通讯方式

作者: 二营长家的张大炮 | 来源:发表于2019-05-08 10:56 被阅读0次

1.props---这是一种比较常见的父子组件通讯的方法,通过props父组件可以传递参数以及方法

父组件:
    <edit-publish
      v-if="editVisible"
      :mockData="mockData"
      :editVisible="editVisible"
      :targetKeys="targetKeys"
      @edit-close="editPublishClose"
      @edit-cancel="editPublishCancel"
      :selectedSchoolIds="selectedSchoolIds"
    />
子组件:
 @Prop()
  private editVisible!: boolean;
  // 选中的学校id数组
  // @Prop()
  // private selectedSchoolIds!: Array<string>;
  // 穿梭框数据
  @Prop()
  private mockData!: Array<PublishModule.TransferMock>;
  // 左侧选中穿梭框右侧keys

2.$emit---触发父组件的自定义事件,其实就是父传子的方法

子组件:
 @Emit()
  editClose() {
    return this.usetargetKeys;
  }

3.vux---vux其实是vue中状态管理的插件

state:定义存贮数据的仓库 ,可通过this.$store.state 或mapState访问
getter:获取 store 值,可认为是 store 的计算属性,可通过this.$store.getter 或
       mapGetters访问
mutation:同步改变 store 值,为什么会设计成同步,因为mutation是直接改变 store 值,
         vue 对操作进行了记录,如果是异步无法追踪改变.可通过mapMutations调用
action:异步调用函数执行mutation,进而改变 store 值,可通过 this.$dispatch或mapActions
       访问
modules:模块,如果状态过多,可以拆分成模块,最后在入口通过...解构引入

4.attrs &&listeners
前面介绍了props通讯 ,如果通过props传递的参数或者方法很多,那么在子组件中需要声明的就很多,此时我们就可以通过attrs和listeners分别获取父组件传递来的参数和方法,如果子组件中已通过props声明了变量,那么通过$attrs就获取不到该变量

5.parent & children
children & parent 并不保证顺序,也不是响应式的 只能拿到一级父组件和子组件

6.refs

父组件:
  <child-item ref="childrenref" ></child-item>
this.$refs.childrenref

7.

相关文章

  • Vue中组件通信(eventBus)

    在vue项目中,父子组件间的通讯很方便。但兄弟组件或多层嵌套组件间的通讯,就会比较麻烦。这时,使用eventBus...

  • Vue性能「二十」-- vue常见面试题

    vue常见面试题整理: 使用及原理篇: 组件间的通讯[https://www.jianshu.com/p/4877...

  • vue 组件间通讯

    总结起来三种方式 一、eventbus bus.js component1.vue component2.vue ...

  • Vue 组件间通讯

    最近回顾前端,先是 React 现在因工作需又要开始 vue 了。开发过程中多半时间我们需要结构,有层次有上下级,...

  • vue组件间通讯

    父子 $emit/on props $parent/children $attrs/listenner $ref ...

  • Vue组件间通讯

    Vue中组件通讯的方式有很多种,每一种应用的场景可能都有一些不一样,我们需要在合适的场景下选择合适的通讯方式。 父...

  • 组件间通讯方式

      组件化,在工程组成结构角度讲,也可称为模块化。最终目的是为了解藕。  本文总结了组件间交互方式及原理,不涉及到...

  • vue组件如何通信?有几种方式?

    在vue中组件通讯可以分为父子组件通讯和非父子组件通信。父组件通过props的方式向子组件传递数据,而子组件可以通...

  • vue组件间的通讯

    父子通信: 父向子传递数据是通过 props,子向父是通过 $emit;通过 $parent / $childre...

  • [Angular学习笔记]Angular组件通讯

    组件通讯 前端框架,例如extjs,vue,angular等,都是或趋于组件化,所以组件间的通讯,是一个亟需解决的...

网友评论

      本文标题:vue组件间比较常见的通讯方式

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