我有一个包含大约30个字段的表单,我想使用getter和setter进行一些验证,但是您在计算中使用它们,并且不能具有相同名称的计算值和数据值。
有一些示例,其中模型和计算的属性相同,而设置者设置数据模型,但这仅以一个字段为例。实际上,对我而言,这样做将是一个体面的重构。有没有办法维持我的model
到data
的连接并使用getter / setter方法?
表单-使用库Vue-Form-Generator
<form action="#">
<vue-form-generator
:schema="schema"
:model="model"
options="formOptions"
>
</vue-form-generator>
</form>
数据属性:
data: function () {
return {
model:{
id: "",
strategyId: Number,
name: "",
symbol: "",
symbolPair: "",
entryType: "",
conditionalLongEntryPoint: Number,
conditionalShortEntryPoint: Number,
entryPrice: Number,
....
答案 0 :(得分:1)
https://vuejs.org/v2/guide/forms.html#Modifiers
如果您只需要验证用户是否在input type="number"
的字段中提供了一个数字,那么这可能就是您想要的。
如果您需要的还不止这些,我建议您在data
的{{1}}成员上设置一个watch属性,并在该函数中进行验证。为此,您可以对要检查其有效性的数据成员执行正则表达式匹配。
您似乎想要的是在数据成员上具有getter和setter的能力,这是开箱即用的。与之最接近的是在调用v-model
和get
方法时应用条件逻辑,这将成为Vue组件或根实例中set
对象的一部分。