vue 组件通信 请求数据的三种方式

本文回顾了Vue组件的基本概念,重点讲解了组件间的通信,包括父传子使用props,子传父通过事件,以及跨组件通信的事件总线方法。此外,还介绍了Vue组件的生命周期,并详细阐述了在不同生命周期钩子中发起异步请求,如ajax、fetch和axios的使用,以及Promise在处理异步请求中的应用。
摘要由CSDN通过智能技术生成

Review

组件定义

组件注册

组件通信

父子组件通信:

父传子:使用 props

子传父:使用事件

跨组件通信:
  • 转换为父子组件通信的方式(繁琐)
  • enent-bus (事件总线)
事件总线

借助一个中间对象,来实现数据的挂载及传递:以事件的方式实现,通过绑定自定义事件来挂载数据并处理数据,通过触发事件的执行来传递数据。借助的中间对象实际上是一个空的 Vue 实例

const bus = new Vue()

在需要接收数据的组件中绑定事件(入),使用 bus.$on(事件名称,事件处理程序)

在需要传递数据的组件中触发事件(出),使用 bus.$emit(事件名称,传递输入)

生命周期

组件从创建到消亡的整个过程

在生命周期中,利用 钩子函数 可以执行额外的一些操作

  • create 阶段

    • beforeCreate()

    • created()

      通常在 created 钩子函数中发起异步请求(ajax)

  • mount 阶段

    • beforeMount()

    • mounted()

      通常要使用页面中挂载的 DOM 元素,到该钩子函数中获取

  • update 阶段

    • beforeUpdate()
    • updated()
  • destroy 阶段

    • beforeDestroy()
    • destroyed()

异步请求

ajax:

  1. 创建 XMLHttpRequest 实例
  2. open(method, url, async),建立连接
  3. send(params),发送请求。如果要像表单一样 POST 数据,需要在 send 前调用 setRequestHeader()
  4. 处理响应。xhr.onreadystatechange
    • 0
      点赞
    • 1
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值