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的类型声明,在开发时更加方便。

相关推荐
Jerry说前后端2 分钟前
Android 移动端 UI 设计:前端常用设计原则总结
android·前端·ui
熊猫钓鱼8 分钟前
基于Trae CN与TrendsHub快速实现的热点百事通
前端·trae
LIUENG15 分钟前
Vue3 响应式原理
前端·vue.js
讨厌吃蛋黄酥18 分钟前
前端居中九种方式血泪史:面试官最爱问的送命题,我一次性整明白!
前端·css
龙在天22 分钟前
🤩 用Babel自动埋点,原来这么简单!
前端
Hierifer22 分钟前
跨端实现之网络库拦截
前端
随笔记24 分钟前
react-router里的两种路由方式有什么不同
前端·react.js
前端李二牛24 分钟前
异步任务并发控制
前端·javascript
你也向往长安城吗1 小时前
推荐一个三维导航库:three-pathfinding-3d
javascript·算法
imLix1 小时前
RunLoop 实现原理
前端·ios