Vue.js 组件';使用同一组件中其他属性的值创建的属性验证器

Vue.js 组件';使用同一组件中其他属性的值创建的属性验证器,vue.js,Vue.js,组件的属性可以具有验证器函数 在这个组件的属性(比如说propA)中,我想使用另一个属性的(propB)值,但我不能简单地获取this.propA)。我该怎么做呢 代码示例: props: { propA: String, propB: { type: Object validator: function(){ switch(this.propA){ // "this" is undefined!!

组件的属性可以具有验证器函数

在这个组件的属性(比如说
propA
)中,我想使用另一个属性的(
propB
)值,但我不能简单地获取
this.propA
)。我该怎么做呢

代码示例:

props: {
    propA: String,
    propB: {
        type: Object
        validator: function(){
            switch(this.propA){ // "this" is undefined!!
                case 'A':
                    // Do something
                    break;
                case 'B':
                    // Do something else
                    break
            }
        }
    }
}

我感觉你想在这里使用计算属性。您的目标是什么?为什么您认为这属于道具验证?组件有多个子类型,每个子类型的属性稍有不同。我想知道要验证属性是否存在的类型(propA)。我把这些变量属性放在“propB”下面。你能举个例子说明一下你在开关中的一些逻辑吗?我觉得您需要类似这样的东西:`computed:{subType(){switch(this.propA){…}`。在这种情况下,我可能会有两个不同的组件。你可以像
那样做,当它们需要相同类型的功能时,你可以使用mixin。我有单独的广告组件,这是一个加载子广告类型的父组件。这种方式是因为用户可以在组件内更改广告类型——因此更改已经完成由一个普通的父级处理。但是,是的,对于我没有使用过的共享功能,mixin是一个好主意。我目前正在解决这个问题,只验证子组件上的属性。我感觉您希望在这里使用计算属性。您的目标是什么,为什么您觉得这属于属性验证?compoNt有多个子类型,每个子类型的属性稍有不同。我想知道它是哪种类型(propA)来验证属性是否存在。我把这些变量属性放在“propB”下。你能举一个例子说明你在开关中使用的一些逻辑吗?我感觉你需要类似这样的东西:`computed:{subType(){switch(this.propA){…}`。在这种情况下,我可能会有两个不同的组件。你可以像
那样做,当它们需要相同类型的功能时,你可以使用mixin。我有单独的广告组件,这是一个加载子广告类型的父组件。这种方式是因为用户可以在组件内更改广告类型——因此更改已经完成由公共父级处理。但是,是的,对于我没有使用过的共享功能,mixin是一个好主意。我目前正在通过仅验证子组件的属性来解决此问题。