v-model 上的 Vue getter 和 setter:

Vue getters and setters on v-model:

我有一个包含大约 30 个字段的表单,我想使用 getter 和 setter 进行一些验证,但是您在计算中使用它们并且不能具有同名的计算值和数据值。

已经有模型和计算的属性相同的例子,设置者设置数据模型,但这只是以一个字段为例。实际上,对我来说这样做是一个不错的重构。有没有办法维持我的 modeldata 连接并使用 getters/setters?

Form- 使用库 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, 
   ....

https://vuejs.org/v2/guide/forms.html#Modifiers

如果您只需要验证用户是否在 input type="number" 的字段中提供了数字,这可能就是您要查找的内容。

如果您需要更多的东西,我建议您在 v-modeldata 的成员上设置一个监视 属性 并在该函数中进行验证.为此,您可以对要检查有效性的数据成员执行正则表达式匹配。

您似乎要求的是能够对数据成员进行 getter 和 setter,这不是开箱即用的。最接近它的是在调用 getset 方法时应用条件逻辑,这将是 Vue 组件或根实例中 methods 对象的一部分。