如何让用户在 Vue 中修改计算的 属性?
How to let a user modify a computed property in Vue?
我正在收集一些我希望允许用户下载的数据,并且我正在尝试找出处理文件名的最佳方法。默认文件名应该是动态的并且基于当前日期,所以我想我需要为它创建一个 computed property
。我还希望用户可以选择更改文件名。但是,当我将其设置为输入表单上的 v-model
时,表单内更改的 none 会在 属性 上注册。我不知道如何捕获该新值,以便稍后用它生成文件。我尝试了 v-model
的各种组合并使用多个 computed properties
,但其中 none 给了我预期的结果。
Here 是一个 jsfiddle,包含查看我的问题所需的最少代码。
通常您会希望 v-model
引用 data
属性 而不是计算的 属性。这种方法看起来像:
<input v-model="filename">
然后您可以使用默认值
初始化数据属性
data: {
filename: this.defaultFilename()
}
并将defaultFilename()
定义为方法
methods: {
defaultFilename() {
return "whatever";
}
}
我正在收集一些我希望允许用户下载的数据,并且我正在尝试找出处理文件名的最佳方法。默认文件名应该是动态的并且基于当前日期,所以我想我需要为它创建一个 computed property
。我还希望用户可以选择更改文件名。但是,当我将其设置为输入表单上的 v-model
时,表单内更改的 none 会在 属性 上注册。我不知道如何捕获该新值,以便稍后用它生成文件。我尝试了 v-model
的各种组合并使用多个 computed properties
,但其中 none 给了我预期的结果。
Here 是一个 jsfiddle,包含查看我的问题所需的最少代码。
通常您会希望 v-model
引用 data
属性 而不是计算的 属性。这种方法看起来像:
<input v-model="filename">
然后您可以使用默认值
初始化数据属性data: {
filename: this.defaultFilename()
}
并将defaultFilename()
定义为方法
methods: {
defaultFilename() {
return "whatever";
}
}