【问题标题】:How to set type of a parameter to Vue Component如何将参数的类型设置为 Vue 组件
【发布时间】:2021-07-07 06:36:17
【问题描述】:

我有一个在 typescript 中将组件作为参数的函数,我想将其类型设置为“VueComponent”?

function callback(component: VueComponent???){
 // some code
}

【问题讨论】:

  • 你用的是哪个vue版本?
  • 我相信您必须将该组件导入定义回调的文件中,然后您可以使用该组件的名称作为类型。
  • @BoussadjraBrahim Vue 2.6
  • @MohammadUsman 但我希望可以将不同的组件发送到此函数。
  • @AMD 所有自定义组件都继承自“Vue”,因此您可以尝试将其用作基础组件。

标签: typescript vue.js


【解决方案1】:

请看下面的打字

https://github.com/vuejs/vue/blob/dev/types/options.d.ts#L10

export type Component<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> =
  | typeof Vue
  | FunctionalComponentOptions<Props>
  | ComponentOptions<never, Data, Methods, Computed, Props>

ComponentFunctionalComponentOptions 都由 Vue 导出

【讨论】:

  • 这里导出了很多不同的类型(ComponentComponentOptionsVueConstructor 甚至只是Vue)。但它们都没有真正有助于正确输入/自动完成:您不会在参数中看到组件的属性。我认为这是这里的主要问题。
猜你喜欢
  • 2021-03-03
  • 2018-07-10
  • 2021-12-22
  • 1970-01-01
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-01
相关资源
最近更新 更多