inject
misses this
#3923
Labels
❗ p4-important
Priority 4: this fixes bugs that violate documented behavior, or significantly improves perf.
🐞 bug
Something isn't working
Version
3.1.1
Reproduction link
https://codesandbox.io/s/sleepy-frog-2zshk?file=/src/components/HelloWorld.vue:243-292
Steps to reproduce
Open the reproduction and you can see the error message in the console right after.
What is expected?
It's supposed to display
That "HelloWorld" is supposed to come from
this.$options.name
.What is actually happening?
this
is undefined and it throws an error.https://github.com/vuejs/vue-next/blob/9a5bdb15df454fe99b4f695c85a2890d3e059b68/packages/runtime-core/src/apiInject.ts#L63-L64
According to the latest version of
apiInject.ts
,defaultValue
function is called withoutthis
binding. It should've beendefaultValue.call(instance)
.The same example works fine with Vue2.
https://codesandbox.io/s/purple-waterfall-hutku?file=/src/components/HelloWorld.vue:235-270
If it's not intended, I could open a PR for fix.
The text was updated successfully, but these errors were encountered: