美文网首页Vue专题
Vue组件与组件通信(补充)

Vue组件与组件通信(补充)

作者: 听书先生 | 来源:发表于2021-01-17 22:01 被阅读0次

相对路径和绝对路径


相对路径:是指的相对自身的路径,从自身当前的位置开始找。

绝对路径:从项目的根目录开始找。

Vue的局部组件


组件是Vue最强大的功能之一。组件可以保证封装的代码的可复用性,组件是自定义元素,比如:导航栏header, 中部区域块banner,等等,个人理解就是一个可复用的结构性的代码块。

局部组件:只在一两个页面中去使用

步骤:一、创建     二、引入     三、注册     四、使用

局部组件的引入只能使用@去引入文件(  @指的项目根目录  )

page.vue使用局部组件 banner.vue 运行结果图


Vue的全局组件


全局组件:会在很多页面中复用(重复使用)

在main.js项目的主入口程序去引入全局组件,注册全局组件

main.js common.vue 运行结果

父子组件之间的通信


父传子

页面可以包含很多的子组件

一个页面(pages目录里)不要包含很多的html或uniApp ui组件标签,尽量拆分成组件独立出去。

拆分出去的组件的内容,由数据驱动。

#props

类型: Array<string> |  Object

详细:可以是数组或对象,用于接收来自父组件的数据,props可以是简单的数组,或者使用对象作为替代,对象允许配置高级选项,如:类型检测、自定义验证、和设置默认值。

父组件page.vue 子组件banner.vue 运行效果图

对子组件接收过来的数据加以处理(对props接收过来的数据进行反转处理)

子组件banner.vue 运行效果图

子传父


我们点击button这个按钮,触发了sendSonData()这个事件,uni.$emit() 该机制会向父组件传一个数组数据sonData,并且去父组件通过页面加载的生命周期onLoad()利用uni.$on()去用这个事件。

数据捕获后,便会去挂载数据,挂载数据后,便在页面中去把数据渲染到页面中去。

PS:使用 uni.$emit() 时,传输的数据格式必须是对象

子组件banner.vue 父组件page.vue 运行前 运行后的结果

运用Vue的特性实现子传父

1、在子组件中利用按钮添加一个点击事件,利用 this.$emit() 将子组件的数据传给父组件。

2、父组件中通过子组件的自定义的事件名再去利用 this.$on() 去接收子组件传过来的数据。

3、参数 e 就是接收到的数据,可以再对接收到的数据加以处理。

banner.vue page.vue 运行结果前 运行结果后

兄弟组件的通信机制


个人理解:

1、在uniapp项目的目录下的common文件夹中创建一个bus.js文件,作为一个‘通信车’,用于传输数据

2、创建Acom和Bcom两个兄弟组件

3、分别在Acom和Bcom两个兄弟组件之间   Acom组件引入bus.js通信车文件,通过事件车 bus.$emit() 将数据传出去

4、Bcom引入bus.js通信车文件,通过事件车bus.$on() 将数据接收进来

bus.js
Acom.vue Bcom.vue 父组件brother.vue 运行点击前 点击后

相关文章

  • Vue组件与组件通信(补充)

    相对路径和绝对路径 相对路径:是指的相对自身的路径,从自身当前的位置开始找。 绝对路径:从项目的根目录开始找。 V...

  • vue父组件调用子组件的方法

    vue组件与组件通信有如下几种情况: 平行组件父组件与子组件子组件与父组件 它们之间通信有几种方法有: props...

  • vue组件通信,中央事件总线

    vue 组件通信分为父组件与子组件通信、子组件与父组件通信、非父子关系组件通信三种 第一种大家都知道用props,...

  • vue组件之间通信

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

  • Vue组件通信

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

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

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

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

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

  • Vue相关知识点

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

  • Vue如何实现组件通信?

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

  • Vue事件总线(EventBus)

    vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过props向下传数据给子组件...

网友评论

    本文标题:Vue组件与组件通信(补充)

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