Vue.js 是否可以在Vue中设置道具条件,例如,道具2取决于道具1的值?

Vue.js 是否可以在Vue中设置道具条件,例如,道具2取决于道具1的值?,vue.js,eslint,nuxt.js,Vue.js,Eslint,Nuxt.js,我有一个用例,需要将特定的错误消息传递给自定义组件。当且仅当某个道具设置为true。但我怀疑道具中是否有这个。required,因为它尚未初始化 //custom component props: { required: { type: Boolean, default: false }, requiredErrorMsg: { type: String, default: '', required: this.required } }

我有一个用例,需要将特定的错误消息传递给自定义组件。当且仅当某个道具设置为
true
。但我怀疑道具中是否有
这个。required
,因为它尚未初始化

//custom component
props: {
  required: {
    type: Boolean,
    default: false
  },
  requiredErrorMsg: {
    type: String,
    default: '',
    required: this.required
  }
}
如果道具丢失,则Vue(或eslint?)应该抛出警告或错误,具体取决于
required
是否设置为true

<Custom :required="true" /> //missing prop error
<Custom :required="true" required-error-msg="this is an error"/> //no issues
//缺少道具错误
//没问题

目前正在使用:
nuxt v2.3.4
当所需道具丢失时,eslint v5.0.1

Vue本身从未真正“抛出”错误。Vue只会发出
[Vue警告]
。这在报告中没有真正提到。因此,为了证明这一点,如果您使用缺少的必需道具运行下面的代码段,您可以看到它仍然可以呈现:

Vue.component('custom-component'){
模板:`
必填项:
{{必需的}}

所需错误消息:
{{requiredErrorMessage}} `, 道具:{ 所需:{ 类型:布尔型, 默认值:false }, 所需错误消息:{ 类型:字符串, 默认值:“”,
required:true//是否尝试将所需的prop包装到computed中?我认为不应该将required用作变量名-它是一个保留字(可能不是变量名,但最终会让人困惑)。也许requiredMsg可以。required前面的:使其成为布尔值而不是字符串,变量名与OP的问题无关:)是的,布尔问题没有问题,但命名确实与问题有关。请用一个代码段来尝试它-使用required它根本不起作用,而使用requiredMsg它会起作用。@JC97,使用computed不起作用,问题是在prop中使用
this
,因为它尚未初始化。无法读取属性isRequired'of使用名为
isRequired
和prop=
required的计算值未定义:this.isRequired