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是一个好主意。我目前正在通过仅验证子组件的属性来解决此问题。