Provide 和 Inject 的用法

前言

父子组件传参可以通过propsemit来实现,但是当组件的层次结构比较深时,propsemit就没什么作用了。vue为了解决这个提出了Provide / Inject,知道这个东西,但是一直没用过,最近碰到了一个问题,踩了一些坑,在这里记录一下

备注:
我安装的是vue3.x,v-model用的是3.x的语法。
2.x和3.x用法一致,我这里是用2.x写的

通用知识

基本用法

provide 选项应该是:一个对象或返回一个对象的函数
inject 选项应该是:一个字符串数组,或 一个对象,对象的 [key] 是本地的绑定名

provide 和 inject 绑定并不是可响应的。这是刻意为之的。

代码执行顺序

data->provide->created->mounted

基本代码

主要使用grandpagrandson这两个组件,son在这里充当一个层级

//grandpa.vue
<template>
  <div>
    <h3 style="margin-bottom: 20px">爷爷组件</h3>
    <el-button type="primary&#
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值