vue3 跨级传递数据

假设我们我们有3层组件 顶层,中间层,底层

如果我们的顶层想给底层传递数据

常规的我们可以用父传子的方式props,顶层传递给中间层,中间层再传给底层,如果中间有很多层,那不炸杠了吗

所以接下来要用vue3推出的provide和inject函数

我们在顶层用provide函数

html 复制代码
<script setup>
import CenterApp from '@/components/center-app.vue';
import {provide} from 'vue'
import {ref} from 'vue'

const count=ref(0)
provide('car','宝马')
provide('count',count)
provide('addcount',()=>{
  count.value++;
})
</script>

<template>
    <div>
        <h1>我是顶部组件</h1>
        <CenterApp></CenterApp>
    </div>
</template>

底层用inject函数来接收,可以接收常量,响应式变量,函数

html 复制代码
<script setup>
import {inject} from 'vue'
const car=inject('car')
const count=inject('count')
const addcount=inject('addcount')
</script>

<template>
    <div>
        <h3 >我是底部组件-----{{car}}-----{{count}}辆</h3>
        <button @click='addcount'>增加</button>
    </div>
</template>
相关推荐
强子感冒了7 分钟前
JavaScript 零基础入门笔记:核心概念与语法详解
开发语言·javascript·笔记
css趣多多25 分钟前
vue2项目改造为vue3遇到的问题以及解决办法
前端·vue.js·elementui
哆啦A梦158826 分钟前
Vue3魔法手册 作者 张天禹 09_props的使用
前端·vue.js·typescript
哆啦A梦158844 分钟前
Vue3魔法手册 作者 张天禹 11_自定义hooks
前端·vue.js·typescript
广州华水科技1 小时前
单北斗变形监测在大坝安全和地质灾害预警中的应用与优势
前端
一叶星殇1 小时前
Windows 下用 Nginx 部署 Vue + .NET WebApi 全流程实战
vue.js·windows·nginx
阿珊和她的猫1 小时前
深入理解 Vue 3 的 `setup` 函数
前端·vue.js·状态模式
weixin199701080161 小时前
微店商品详情页前端性能优化实战
前端·性能优化
FindYou.1 小时前
基于mdEditor实现数据的存储和回显(导出pdf&表情包&目录)
javascript·vue
feasibility.1 小时前
打造AI+准SaaS:中文法律检索分析平台
vue.js·人工智能·自然语言处理·django·sass·web·法律