javascript - Vue JS $refs在挂载时未将类添加到元素classList
问题描述
我将 Vue JS 与 Laravel 和 Material Design Lite 一起使用。
如果我的表单在后端验证器失败,当我重定向时,我会向组件传递一个名为 的道具old
,其中包含先前选择的选项。
我注意到,如果我在is-checked
安装组件时尝试将类添加到标签中,它不会出现。例如
模板代码
...
<label class="mdl-checkbox mdl-js-checkbox mdl-js-ripple-effect pa" :ref="`option${option.id}`">
...
脚本代码
...
mounted(): {
if(this.old){
this.selectedOptions = JSON.parse(this.old);
for(let id of this.selectedOptions){
this.$refs[`option${id}`][0].classList.add('is-checked');
}
}
}
...
我觉得奇怪的是,当我将上面的脚本代码包装在一个setTimeout(()=>{...}, 1000)
函数中时,它突然就起作用了。此外,以下代码也记录了正确的元素:
...
mounted(): {
if(this.old){
this.selectedOptions = JSON.parse(this.old);
for(let id of this.selectedOptions){
console.log(this.$refs[`option${id}`][0].classList);
}
}
}
...
解决方案
推荐阅读
- python - 安装要求时 pip msgpack 错误
- java - 使用 Action 类,在 ClickAndHold 之后,如何进入两步底部菜单选项并单击?
- php - symfony 中的类别树问题
- swift - 用户重新打开应用程序时如何更新按钮状态?(斯威夫特 5)
- c# - C#:列表填充了类的相同实例而不是新实例
- java - 如何在java中将字符串插入字符串数组?
- json - 如何将具有日期作为属性的json数据转换为飞镖
- python-3.x - 随机游走算法如何将灰度图像变为 3D?
- python - Python 3如何为try编写单元测试,除了模块中的外部函数
- ios - 显示底部单元格时如何动画 UITableView 向上滑动?