首页 > 解决方案 > 为什么要用多余的 `type` 和 `validator` 编写 Vue 道具?

问题描述

vue-typeahead-bootstrap组件的源代码中,有带有 atypevalidator定义的道具:

data: {
  type: Array,
  required: true,
  validator: d => d instanceof Array
},
serializer: {
  type: Function,
  default: (d) => d,
  validator: d => d instanceof Function
},

这些typevalidator选项似乎validator是多余的,因为它们强制执行与每个 prop 相同的数据类型type。据我所知,Vue 已经在内部检查了 prop 类型,这将使​​得这变得不必要。这种方法的目的是什么?validator可以简单地删除custom吗?

标签: vue.js

解决方案


正如 Michael Tiessen 在他的文章中指出的那样,只需使用:

// Use return function with boolean return value
(prop) => return propIsValid;

推荐阅读