vue js中的道具数组?

时间:2018-03-21 17:58:46

标签: javascript vue.js

在Javascript中,我可以使用异构数组,例如:

var ex = ['name', 12, true];
console.log(ex);

在单个文件模板中的Vue JS中,我可以通过以下内容为<script></script部分中的组件定义道具:

export default{
props: ['myprop']
}

或将道具列为对象以验证类型

export default{
  props: {
    myprop: String
  }
}

现在我的问题是在vue中列出类似myprop: [String,Array]类型的数组,列出属性的多个有效类型。

我的问题是如何在道具级别验证数组的内容?

例如,使用字符串,数字,布尔值和3的计数模式中的ex。如果它不是这种形式,是否有办法使得进入道具的任何值都无效?

因此,如果我以[true, 12, 'name']的形式获得某些数据,那么它将无效。 但是ex会有效。

1 个答案:

答案 0 :(得分:1)

如果我关注,您想要使用自定义属性验证器功能。类似的东西:

props: {
  myprop: {
    type: Array,
    validator: value => {
       return /* test value length, indices types, etc here as truthy/falsy */;
    }
  }
}

type属性只是对类型的简单验证,自定义验证器允许您自定义构成组件有效属性的确切内容。