gpt4 book ai didi

javascript - [Vue警告] : Failed to generate render function: SyntaxError: missing ) after argument list

转载 作者:行者123 更新时间:2023-12-01 01:05:04 31 4
gpt4 key购买 nike

我遇到了一个非常奇怪的行为,Vue 提示缺少 ) 但实际上并没有缺少 )。更奇怪的是,如果我不使用 filterOptions 对象而是创建一个简单的属性,那么它就可以工作。由于某种原因,它无法将其作为对象的属性来处理。

[Vue warn]: Failed to generate render function: SyntaxError: missing ) after argument list

<input
v-model="date_format(filterOptions.date_start)"
/>

但是如果我将其更改为这个(没有filterOptions对象)那么它就可以工作

<input
v-model="date_format(startdate)"
/>

这是我的 date_format 函数和数据。

methods:
{
date_format(date)
{
return (date != null && date != '') ?
moment(date, 'YYYY-MM-DD').format("DD.MM.YYYY") : ''
},
},

data()
{
return {
total: 10,
startdate: '',
filterOptions: {
perPage: 10,
orderBy: 'end_date',
orderDirection: 'desc',
date_start: '',
end_date_end: '',
},
}
},

最佳答案

要将派生自另一个属性的属性用作 v 模型,您应该使用计算属性而不是方法。计算属性有两个显式方法:get 和 set。

在 getter 中,您可以获取 YYYY-MM-DD 格式的开始日期,并将其转换为 DD.MM.YYYY 并返回,在 setter 中,您可以获取 DD.MM.YYYY 并将其转换为 YYYY-MM- DD 并将其设置为开始日期。

<div id="app">
<p>{{ message }}</p>
<input v-model="formatted">
{{ startdate }}
</div>
new Vue({
el: "#app",
data: {
message: "Hello Vue.js!",
total: 10,
startdate: "2017-02-15",
filterOptions: {
perPage: 10,
orderBy: "end_date",
orderDirection: "desc",
date_start: "",
end_date_end: ""
}
},
computed: {
formatted: {
get: function() {
return this.startdate != null && this.startdate != ""
? moment(this.startdate, "YYYY-MM-DD").format("DD.MM.YYYY")
: "";
},
set: function(newValue) {
this.startdate = newValue != null && newValue != ""
? moment(newValue, "DD.MM.YYYY").format("YYYY-MM-DD")
: ""
}
}
}
});

关于javascript - [Vue警告] : Failed to generate render function: SyntaxError: missing ) after argument list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55724278/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com