Vuejs动态参考未定义

时间:2018-06-02 11:07:13

标签: vuejs2 ref

我有来自项目列表的动态输入列表:

<ul>
  <li v-for="item in items">
    <input type="checkbox"
        :value="item._id"
        :id="item._id"
        :ref="item._id + '-checkbox'"
        @click="checkItem($event)"
    >
    {{ item.libelle }}
  </li>
</ul>

正如您所看到的,我想动态地:refitem._id进行绑定 这没关系,console.log(this.$refs)让我items._id按预期连接:

  

5b116f28f1167507d7fa2004-checkbox 5b116f28f1167507d7fa2005-checkbox   5b116f28f1167507d7fa2006-复选框

检查输入后,我添加到itemsChecked数组。

接下来,在mounted()方法中,我想循环检查项目数组并使用动态参考检查输入项目:

for (var i = 0; this.itemsChecked.length; i++) {
  var currentRefId = this.itemsChecked[i];      
  if (this.$refs[currentRefId + '-checkbox'] !== 'undefined') {
     this.$refs[currentRefId + '-checkbox'].checked = true;
  }
}

我得到了一个错误:

  

vue.runtime.esm.js:1689 TypeError:无法设置属性&#39;已选中&#39;的   未定义

看到关于在vuejs中使用动态参考的其他相关主题,我不明白为什么它在我的例子中不起作用。

在另一个固定参考中,它正常工作:

this.$refs.mychecbox.checked = false

0 个答案:

没有答案