javascript - 动态key的调用方法

标签 javascript vue.js quasar

这是我的数据对象:

registration: {
        step1: {
          project: '',
        },
        step2: {
          adres: '',
          facade: '',
          floor: '',
        },
      },

我正在尝试为每个步骤使用一个函数来验证用户输入,如下所示:

validateStep(stepNumber) { 
    const self = this; 
    const step = step${stepNumber}; 
    console.log(step); 
    this.$v.registration[${step}].touch(); 
    if (this.$v.registration[${step}].$error) { 
      this.$q.notify('Controleer aub de velden opnieuw'); 
      return; 
    } 

    self.$refs.stepper.next();
}

但这给出了这个错误:

TypeError: this.$v.registration["".concat(...)].touch is not a function

我也这样试过:

validateStep(stepNumber) {
      const self = this;
      const step = `step${stepNumber}`;
      console.log(this.$v.registration[step]); //this prints the correct object
      const currentStep = this.$v.registration[step];
      currentStep.touch();

      if (currentStep.$error) {
        this.$q.notify('Controleer aub de velden opnieuw');
        return;
      }
      self.$refs.stepper.next();
    },

我做错了什么?

最佳答案

Vuelidate 方法应该是 $touch 而不是 touch

关于javascript - 动态key的调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54179203/

相关文章:

vuejs2 - 如何从Quasar框架获取环境变量

javascript - 通过按钮发送命令播放轨道

javascript - 如何从 VueJS 中接收到的数据分配数据?

javascript - 查找跨越多个节点的文本

vue.js - 动态创建组件总是删除最后一个实例

javascript - 使用 Vue.js 将数组长度增加和减少到输入范围值

kotlin - Kotlin Quasar主题和 channel 阻止问题

java - 内部微服务调用的消息总线与 Quasar/HTTP

javascript - 在 KineticJS 中使用 mousedown 事件创建一个矩形

javascript - javascript回调函数中的参数从哪里来?