diff --git a/packages/runtime-core/src/apiInject.ts b/packages/runtime-core/src/apiInject.ts index 93d5e39a..b9e105fe 100644 --- a/packages/runtime-core/src/apiInject.ts +++ b/packages/runtime-core/src/apiInject.ts @@ -1,4 +1,5 @@ import { currentInstance } from './component' +import { warn } from './warning' export interface InjectionKey extends Symbol {} @@ -29,8 +30,12 @@ export function inject(key: InjectionKey | string, defaultValue?: any) { } else { // TODO should also check for app-level provides const provides = currentInstance.parent && currentInstance.provides - return provides && key in provides - ? (provides[key as any] as any) - : defaultValue + if (provides && key in provides) { + return provides[key as any] as any + } else if (defaultValue !== undefined) { + return defaultValue + } else if (__DEV__) { + warn(`injection ${key} not found.`) + } } }