如何避免 [Vue warn]: Injection "xxxx" not found

How to avoid [Vue warn]: Injection "xxxx" not found

我在 nuxt 组合中使用 inject/provide 模式-api。 例如,组件 A 注入组件 B 提供的功能,组件 B 是组件 A 的父组件,如下所示。

//Component B 
const test = () => {}
provide('test', test)
//Component A 
const test = inject<Function>('test')

然而,当我想在没有组件 B 的情况下使用组件 A 时,此警告会显示在控制台上。我理解它的意思,但在这种情况下,它不需要使用“'test'”功能。有什么办法可以避免这个警告吗?

[Vue warn]: Injection "test" not found

为避免警告,请指定默认值(inject() 的第二个参数):

const test = inject<Function>('test', () => {})

demo