vue2和vue3中依赖注入provide 和 inject是如何使用的具体案例

Vue2中provide 和 inject使用案例:

父组件中通过provide提供一个字符串参数:

javascript 复制代码
<template>
  <div>
    <child-component />
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  provide: {
    message: 'hello world'
  }
}
</script>

子组件中通过inject注入父组件中的字符串参数:

javascript 复制代码
<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  inject: ['message']
}
</script>

Vue3中provide 和 inject使用案例:

父组件中通过provide提供一个字符串参数:

javascript 复制代码
<template>
  <div>
    <child-component />
  </div>
</template>

<script>
import { provide } from 'vue'
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  setup() {
    provide('message', 'hello world')
  }
}
</script>

子组件中通过inject注入父组件中的字符串参数:

javascript 复制代码
<template>
  <div>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import { inject } from 'vue'

export default {
  setup() {
    const message = inject('message')
    return {
      message
    }
  }
}
</script>

在Vue3中,provide和inject实现起来更加简单,只需要在setup函数中使用即可,而不需要在组件声明中使用。同时,Vue3也支持provide和inject的类型声明,在开发时更加方便。

相关推荐
朦胧之2 分钟前
页面白屏卡住排查方法
前端·javascript
用户593608741402 分钟前
Playwright 黑魔法:用 ClipboardEvent 绕过 React 富文本编辑器
前端
Ruihong6 分钟前
Vue withDefaults 转 React:VuReact 怎么处理?
vue.js·react.js·面试
石山岭33 分钟前
自己动手写了一个 Android 虚拟定位 App:GPSSimulate 技术实
android·前端
犇驫聊AI1 小时前
Chrome DevTools MCP + Claude Code 自定义skills生成接口代码生成器
前端·javascript
kyriewen1 小时前
别再这样写 async/await 了:我在 Code Review 中见过最多的 8 个错误
前端·javascript·面试
hoLzwEge1 小时前
node-linker VS shamefully-hoist
前端·前端框架
袋鱼不重1 小时前
解决 Web 端图片预览与下载颜色不一致的一种工程方案
前端·后端
风止何安啊1 小时前
教你用 JS + AI 实现简单的爬虫,零门槛爬取网页信息
前端
cidy_981 小时前
codebase-memory-mcp 新手完全教程:让 AI 真正「理解」你的代码库
前端