vue中的inject和provide

news/2024/9/24 12:31:45/

在Vue中,provide 和 inject 是用来实现祖先组件向子孙组件传递数据的一种高级组件通信方式。provide 可以在祖先组件中定义数据,而 inject 可以在子孙组件中接收这些数据。这种传递方式不受组件层级限制,非常适合于跨多层级的组件通信。

用法案例

父级组件


<template><div><div>我是父级组件</div><Child/></div>
</template><script>javascript">
import Child from './child.vue'export default {components: {Child},data() {return {message:'父组件信息'}},provide() {return { $_parent: this };},methods:{getMessage(){alert('message')}}
}
</script><style></style>

child组件

<template><div><button @click="getInfo">获取父组件信息</div></div>
</template><script>javascript">
export default {name: 'child',data() {return {}},inject: ['$_parent'],methods:{getInfo(){console.log(this.$_parent.message)this.$_parent.getMessage()}}
}
</script><style></style>

当然你也可以在App.vue中定义provide,这样provide中的方法和属性在其他页面中都可以访问


http://www.ppmy.cn/news/1429175.html

相关文章

配置 rust国内源

rust crate.io 配置国内源&#xff08;cargo 国内源&#xff09; warning: spurious network error (2 tries remainin..._warning: spurious network error (3 tries remaining-CSDN博客

linux apt-get安装Jenkins

这个错误信息表明在尝试更新软件包索引时&#xff0c;APT 软件包管理器无法验证 Jenkins 存储库的 GPG 签名&#xff0c;因为缺少相应的公钥。此外&#xff0c;还提示 sources.list 和 jenkins.list 文件重复配置了相同的目标。 要解决这个问题&#xff0c;请按照以下步骤操作…

Linux——进程基本概念中篇

Linux——进程基本概念中篇 文章目录 Linux——进程基本概念中篇一、通过系统调用创建进程——fork1.1 fork的理解1.2 fork的返回值 二、进程状态2.1 运行状态2.2 睡眠状态和休眠状态2.3 停止状态和死亡状态2.4 僵尸进程2.5 孤儿进程2.6 前台和后台进程 三、进程优先级3.1 查看…

使用Canal同步MySQL 8到ES中小白配置教程

&#x1f680; 使用Canal同步MySQL 8到ES中小白配置教程 &#x1f680; 文章目录 &#x1f680; 使用Canal同步MySQL 8到ES中小白配置教程 &#x1f680;**摘要****引言****正文**&#x1f4d8; 第1章&#xff1a;初识Canal1.1 Canal概述1.2 工作原理解析 &#x1f4d8; 第2章&…

代码质量与自动化:ESLint Prettier配置与使用

代码质量与自动化是现代软件开发中非常重要的一部分。ESLint和Prettier是两个流行的工具&#xff0c;可帮助开发人员提高代码质量并自动化代码格式化。 ESLint是一个JavaScript和TypeScript的静态代码分析工具&#xff0c;可以帮助开发人员在编写代码时发现和修复常见的问题&a…

Python机器学习算法库scikit-learn学习之决策树实现方法

Scikit-learn 是一个功能强大的Python机器学习库&#xff0c;它提供了各种算法&#xff0c;包括决策树&#xff08;Decision Tree&#xff09;。决策树是一种直观的算法&#xff0c;用于分类和回归任务。以下是如何使用 scikit-learn 实现决策树的基本步骤&#xff1a; 1. 导入…

9.Eureka服务发现+Ribbon+RestTemplate服务调用

order-service服务通过服务名称来代替 ip:port的方式访问user-service服务的接口。 原来的请求代码&#xff1a; Service public class OrderServiceImpl implements OrderService {Autowiredprivate OrderMapper orderMapper;Autowiredprivate RestTemplate restTemplate;Ov…

政安晨:【Keras机器学习示例演绎】(七)—— 利用 NeRF 进行 3D 体积渲染

目录 简介 设置 下载并加载数据 NeRF 模型 训练 可视化训练步骤 推理 渲染三维场景 可视化视频 结论 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: TensorFlow与Keras机器学习实战 希望政安晨的博客能够对您有所裨益&#xff0…