我有来自项目列表的动态输入列表:
<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>
正如您所看到的,我想动态地:ref
与item._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