当前位置: 首页 > news >正文

Vue组件通讯⽗组件中通过 provide 来提供变量,然后在⼦组件中通过 inject 来注⼊变量例子

在Vue中,provide 和 inject 主要用于依赖注入,允许祖先组件向其所有子孙组件提供一个依赖,而不论组件层次有多深。这在开发高阶插件/组件库时特别有用。

以下是一个简单的例子,演示了如何在父组件中使用 provide 提供变量,并在子组件中使用 inject 注入该变量:

父组件 (Parent.vue)

vue

<template>

  <div>

    <h2>这是父组件</h2>

    <child-component></child-component>

  </div>

</template>

<script>

import ChildComponent from './Child.vue';

export default {

  name: 'Parent',

  components: {

    ChildComponent

  },

  provide() {

    return {

      // 这里我们提供了一个名为'foo'的变量

      foo: 'Hello from Parent!'

    };

  }

};

</script>

子组件 (Child.vue)

vue

<template>

  <div>

    <h3>这是子组件</h3>

    <p>从父组件注入的变量: {{ foo }}</p>

  </div>

</template>

<script>

export default {

  name: 'Child',

  inject: ['foo'] // 这里我们注入了名为'foo'的变量

};

</script>

在这个例子中,父组件通过 provide 提供了一个名为 foo 的变量,子组件通过 inject 注入了该变量,并在模板中使用了它。当父组件的 foo 变量发生变化时(尽管在这个简单的例子中它并没有变化),所有注入了 foo 的子组件都会自动更新。

 

注意:虽然 provide 和 inject 绑定并不是可响应的(它们不会触发视图更新),但你可以传递可观察的对象,这样对象的属性仍然是响应的。

 

 

http://www.lryc.cn/news/360093.html

相关文章:

  • 教你搞一个比较简单的计时和进度条装饰器
  • 跑马灯的两种实现方式
  • OpenAI 的 GPT-4o 是目前最先进的人工智能模型!如何在工作或日常生活中高效利用它?
  • 安卓ANR检测、分析、优化面面谈
  • “手撕”链表的九道OJ习题
  • 解决 Git commit 或 Git merge 跑到 VIM 里面去了
  • 营造科技展厅主题氛围,多媒体应用有哪些新策略?
  • 【UML用户指南】-04-从代码到UML的关键抽象
  • (2024,LoRA,全量微调,低秩,强正则化,缓解遗忘,多样性)LoRA 学习更少,遗忘更少
  • 【Java】面向对象的三大特征:封装、继承、多态
  • 请问Java8进阶水平中,常用的设计模式有哪些?
  • 力扣--最大子数组和
  • C# 中的字符与字符串
  • TPM之VMK密封
  • Fastjson 反序列化漏洞[1.2.24-rce]
  • 【面试宝藏】Go基础面试题其一
  • python如何安装pyqt4
  • 调用上传文件接口出现格式错误
  • leetcode148. 排序链表,归并法,分治的集大成之作
  • 一维时间序列信号的小波模极大值分解与重建(matlab R2018A)
  • 五分钟“手撕”栈
  • MAC也能玩转3A大作 Crossover使用指南 crossover运行战地5
  • docker私有镜像仓库的搭建及认证
  • simCSE句子向量表示(1)-使用transformers API
  • 网络运维的重要性
  • 还不会使用多线程优化代码执行效率?codefun教你在业务场景中使用CompletableFuture进行优化!
  • 数据结构-堆(带图)详解
  • React Native 之 react-native-share(分享)库 (二十三)
  • JCR一区级 | Matlab实现TCN-BiGRU-MATT时间卷积双向门控循环单元多特征分类预测
  • 游戏心理学Day01