Vue.js 基于其他道具设置道具中的默认值

Vue.js 基于其他道具设置道具中的默认值,vue.js,vue-component,Vue.js,Vue Component,是否可以根据已设置为其他道具值的道具设置默认值? 例如,我希望能够将日期格式设置为一个属性,并在需要时设置初始日期。初始日期应以提供的格式显示。道具的定义如下: format: { type: String, required: false, default:"DD.MM.YYYY" }, init_date: { type: String, required: false, default: momen

是否可以根据已设置为其他道具值的道具设置默认值? 例如,我希望能够将日期格式设置为一个属性,并在需要时设置初始日期。初始日期应以提供的格式显示。道具的定义如下:

  format:
  {
      type: String,
      required: false,
      default:"DD.MM.YYYY"
  },
  init_date:
  {
      type: String,
      required: false,
      default: moment().format(this.format).toString()
  },
但这似乎不起作用,因为矩似乎忽略了
this.format
,而是使用默认矩格式。硬编码似乎有效:

default: moment().format("YYYY-MM-DD").toString()
是否仍然可以将
this.format
的值获取到
init_date
属性中


谢谢你的帮助

如果要响应
init_数据中的更改
prop,请使用计算值或手表

但是,在我使用阴影变量的场景中,您可以使用
data
函数中的道具:

props: {
  init_date: { type: String, default: "" },
},
data() {
  let date_var = this.init_data;
  if (date_var === '') {
    date_var = moment().format(this.format).toString()
  }
  return {
    date_var 
  }
}

不,不可能。不能在另一个道具的默认值中引用一个道具。不使用道具,您必须使用
数据
属性并在
装入
中设置值,或者使用
计算的
属性,或者使用将另一道具作为输入并返回值的方法(然后使用模板中要使用道具的选项).

您的格式字符串是
this.format.default
而不是
this.format
,而且,您不能在
数据的内部设置该属性。
应该计算。@Deda:但是如果实际设置了一个值,这会起作用吗?因此,是否不应使用默认值?