context api 允许跨组件传递数据,通过定义一个提供程序组件来提供数据,然后使用 inject() 函数在后代组件中访问它。具体步骤包括:在提供程序组件中使用 provide() 函数定义提供程序组件。在需要访问共享数据的组件中使用 inject() 函数注入值。访问注入的值。
Vue 中使用 Context 传递值
Context 是 Vue.js 生态系统中的一个 API,它允许在组件树中跨组件传递数据。它通过在提供程序组件中定义一个值,然后在后代组件中通过 inject API 访问该值来实现。
如何使用 Context 传递值
创建提供程序组件
使用 provide() 函数定义提供程序组件。此组件将提供需要共享的数据。
import { provide } from '<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/15721.html" target="_blank">vue</a>'; export default { setup() { provide('myValue', 'Hello World!'); } }
登录后复制
注入值
在需要访问共享数据的组件中,使用 inject() 函数注入值。
import { inject } from 'vue'; export default { setup() { const myValue = inject('myValue'); return { myValue }; } }
登录后复制
访问注入的值
注入的值现在可以在组件的模板或脚本中访问。
<template><h1>{{ myValue }}</h1> </template>
登录后复制
示例
考虑一个有父组件和子组件的组件树。父组件提供一个值 ‘myValue’,子组件需要访问该值。
父组件 (Provider.vue)
<script> import { provide } from 'vue'; export default { setup() { provide('myValue', 'Hello World!'); } } </script>
登录后复制
子组件 (Consumer.vue)
<script> import { inject } from 'vue'; export default { setup() { const myValue = inject('myValue'); return { myValue }; } </script>
登录后复制
结果
当 Consumer.vue 渲染时,它将访问父组件提供的 ‘myValue’ 值并将其显示在 UI 中。
以上就是vue中context如何传值的详细内容,更多请关注叮当号网其它相关文章!
文章来自互联网,只做分享使用。发布者:momo,转转请注明出处:https://www.dingdanghao.com/article/459214.html