vue
vue copied to clipboard
[2.7] Composition API's inject doesn't work for things provided in the same component
Version
2.7.14
Reproduction link
Steps to reproduce
Using the Composition API, provide a value and then inject it in the same component.
What is expected?
The value will be injected; this is the behavior in the 2.6 @vue/composition-api plugin.
What is actually happening?
This injection key is not found, printing a warning (and breaking the app if it depends on this behavior):
[Vue warn]: injection "Symbol(FooKey)" not found.
It seems this was reported before in https://github.com/vuejs/vue/issues/12636 but the fix targeted some lifecycle thing instead of this underlying functionality change. I'm trying to upgrade my company from Vue 2.6 to Vue 2.7 (and hopefully to Vue 3 after that) but little breaking changes like this are making it very difficult.