Vue之注入数据(provide与inject)

本文深入探讨Vue框架中组件间的通信方式,重点讲解provide和inject选项的使用。祖先组件利用provide传递数据,而后代组件通过inject接收并使用这些数据,无论组件层级多深,这种数据绑定始终有效。文章通过实例分析App和Coffee组件的互动,展示如何初始化提供和注入的数据,并解释其工作原理。

祖先组件可以通过provide选项,声明提供的数据。

后代组件可以通过inject选项,声明注入的数据。

不论组件层次有多深,在上下游关系成立的时间里始终生效。

 

一 App组件

 

<template>
    <div>
        <coffee type="卡布奇诺"/>
    </div>
</template>
<script>
import Coffee from './coffee';

export default {
  name: "App",
  provide: {
    brand: "雀巢"
  },
  components: { Coffee }
};
</script>

 

二 Coffee组件

 

<template>
    <h4>{
  
  {brand}} - {
  
  {type}}</h4>
</template>
<script>
export default {
  name: "Coffee",
  inject: ["brand"],
  props: {
    type: String
  }
};
</script>

 

三 运行效果

 

 

四 原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值