Vetur 说,在模板上使用道具时,“从不”类型中不存在道具
Posted
技术标签:
【中文标题】Vetur 说,在模板上使用道具时,“从不”类型中不存在道具【英文标题】:Vetur says prop doesn't exist on type "never" when using a prop on template 【发布时间】:2021-02-24 13:02:54 【问题描述】:我在 VSCode 上使用带有 vue 组合 API 和 typescript 的 Quasar 框架。
当尝试在模板中使用道具时,Vetur 给我模板中的错误Property 'open' does not exist on type 'never'
来源
<template>
<q-drawer v-model="open">
test
</q-drawer>
</template>
<script lang="ts">
import defineComponent, ref from '@vue/composition-api';
export default defineComponent(
name: 'AuthedLayout',
props:
open:
type: Boolean,
required: true
,
components: ,
setup()
);
</script>
<style></style>
感谢任何帮助
【问题讨论】:
【参考方案1】:请尝试使用 Quasar 的以下语法,我在使用 antd 和 vue 时遇到了同样的问题。 v-model:value 应该可以工作,它会与 q-drawers v-model 同步
<q-drawer v-model:value="open">
test
</q-drawer>
【讨论】:
这是因为我忘记了setup
中的return
。这是一个问题【参考方案2】:
发现问题。这是因为我在setup
函数中没有return
。该错误具有误导性
【讨论】:
以上是关于Vetur 说,在模板上使用道具时,“从不”类型中不存在道具的主要内容,如果未能解决你的问题,请参考以下文章
如何在 VS Code 中为模板中的 vue 道具启用 Typescript 打字和智能感知?
当“@”用于打字稿类组件模板中的事件绑定时,Vetur 未正确读取函数名称