如何检查对象prop是否具有所需的对象属性

时间:2018-02-05 13:36:55

标签: vue.js vuejs2

我将一个对象传递给我的组件:

<foo :ob='object'></foo>

在我的组件中,我有这个声明:

props: {
  ob: {
    type: Object,
    required: false, 
    default: {}
  }
}

通常,要传递的预期对象是这样的:

{

  bar: [],
  tar: {
    a: false,
  }
}

现在,我如何确保对象传递的道具类似。我不需要检查值,我只需要知道它包含tar中的对象键,bar,tar和属性,即:a

1 个答案:

答案 0 :(得分:4)

您可以创建custom validator

props: {
  ob: {
    type: Object,
    required: false, 
    validator: function (obj) {
      return 'bar' in obj &&
      'tar' in obj &&
      obj.tar instanceof Object &&
      'a' in obj.tar
    }
  }
}