【问题标题】:What is the type for a Vue prop when declared in an array?在数组中声明时,Vue 道具的类型是什么?
【发布时间】:2020-10-28 14:01:59
【问题描述】:

我有一个现有的 Vue 组件,其中包含多个道具,这些道具在没有类型的数组中声明:

props: ["prop1", "prop2"]

我现在想添加一个类型为Boolean 的新道具。这需要我将数组更改为对象并设置现有属性的类型。

props: {
   "prop1": ???,
   "prop2": ???,
   "newProp": Boolean
}

我需要选择什么类型来代替 ??? 以便这些道具没有任何改变?我假设Object,但我找不到任何文档来确认这一点。

【问题讨论】:

  • 这些道具的实际类型是什么?
  • @StarkButtowski 他们没有(声明的)类型,这就是我想保留它的方式。

标签: vue.js vuejs2 vue-component


【解决方案1】:

这取决于prop1prop2 将是什么,基于docs 你可以通过nullundefined 使其成为any 类型。

props: {
   "prop1": null,
   "prop2": null,
   "newProp": Boolean
}

或者,如果您已经知道 prop1prop2 的类型,您可以传递一个类型。

类型可以是以下原生构造函数之一:

  • 字符串
  • 号码
  • 布尔值
  • 数组
  • 对象
  • 日期
  • 功能
  • 符号

发件人:https://vuejs.org/v2/guide/components-props.html#Type-Checks

【讨论】:

  • 啊,他们在代码示例中隐藏了null/undefined 选项。 API 文档中没有提到它。谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-04-05
  • 2017-11-02
  • 1970-01-01
  • 2012-11-17
  • 2017-07-23
  • 1970-01-01
  • 2019-04-05
  • 2020-05-12
相关资源
最近更新 更多