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
,而且,您不能在数据的内部设置该属性。