如何让用户修改Vue中的计算属性?

时间:2019-05-13 20:40:16

标签: javascript vue.js input computed-properties v-model

我正在收集一些我希望允许用户下载的数据,并且试图找出处理文件名的最佳方法。默认文件名应该是动态的并且基于当前日期,因此我认为需要为其创建一个computed property。我还希望用户可以选择更改文件名。但是,当我在输入表单上将其设置为v-model时,表单内的所有更改都不会在属性上注册。我无法弄清楚如何捕获该新值,因此以后可以使用它生成文件。我尝试了v-model的各种组合并使用了多个computed properties,但没有一个给我预期的结果。

Here是一个jsfiddle,具有查看我的问题所需的最少代码。

1 个答案:

答案 0 :(得分:2)

通常,您希望v-model引用一个data属性,而不是计算属性。这种方法看起来像:

<input v-model="filename">

然后您可以使用默认值初始化data属性

data: {
    filename: this.defaultFilename()
}

然后将defaultFilename()定义为方法

methods: {
    defaultFilename() {
        return "whatever";
    }
}