Closed
Description
Info
- Platform: Win
- Vetur version: 0.25.0
- VS Code version: 1.47.3 & 1.48.0-insider
Problem
Output > Vue Language Server
No error
Problems
{
"resource": "retracted:/test-vetur/componentA.vue",
"owner": "_generated_diagnostic_collection_name_#0",
"code": "2304",
"severity": 8,
"message": "Cannot find name 'slotVariable'.",
"source": "Vetur",
}
Description
Error with detecting slot's variables with when:
- v-slot syntax is written directly on the component
- v-slot syntax is written on the next line
See ComponentA in the screenshot below
Reproducible Case
❌ Code that reproduce the error
ComponentA
<template>
<Parent
v-slot="{ slotVariable }"
>
{{ slotVariable }}
</Parent>
</template>
Virtual content
import __vlsComponent from "./ComponentA.vue";
import {
__vlsRenderHelper,
__vlsComponentHelper,
__vlsIterationHelper
} from "vue-editor-bridge";
__vlsRenderHelper(__vlsComponent, function() {
() => __vlsComponentHelper(this, "parent", {
props: {},
on: {},
directives: []
}, [slotVariable]);
});
✔ No error
ComponentB
<template>
<Parent v-slot="{ slotVariable }">
{{ slotVariable }}
</Parent>
</template>
Virtual content
import __vlsComponent from "./ComponentA.vue";
import {
__vlsRenderHelper,
__vlsComponentHelper,
__vlsIterationHelper
} from "vue-editor-bridge";
__vlsRenderHelper(__vlsComponent, function() {
({
slotVariable
}) => __vlsComponentHelper(this, "parent", {
props: {},
on: {},
directives: []
}, [slotVariable]);
});
ComponentC
<template>
<Parent>
<template v-slot="{ slotVariable }">
{{ slotVariable }}
<template>
</Parent>
</template>