关于vue props type的疑问?

比如父类传一个字符串类型,type:String 如果用string写就会报错?
但是String是构造函数,string才是类型,为什么会是这样?

阅读 3.3k
3 个回答

String在全局中是一个构造函数,是一个变量,string是个啥,写成字符串类型的"string"倒是有实现的可能,但是尤大没这么设计

这是个非常好的问题,我之前也有此疑问,为什么和 TS 的类型不一样?

实际上,Vue props 的类型检测,是通过 instanceof 来检测的。

比如你定义 { name: String },Vue 在检测时使用 name instanceof String 来判断。因此,Vue props 指定的值本来就是一个构造函数,而不是 TS 中的指定类型。

理解到这,那么你除了指定 String,指定一个自定义构造函数也是可以的。

官方文档说明:类型检查

js里没有string,这是ts用的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题