【实战中的问题】VUE中,HTML对象的ID,在mounted中根据ID无法获取到对象

问题:HTML对象的ID, 在mounted中用ID获取对象却获取不到对象
原因:与vue的渲染顺序有关,在mounted执行时,dom其实并没有渲染完成,所以,在mounted中用动态的ID获取对象是获取不到的。
解决:用vue提供的$nextTick

mounted: function() {
    this.initParm(); //参数初始化
 
    console.log($(".randomBoxDiv"));
    console.log(this.objId);
 
    //把动态获取ID的操作放到this.$nextTick的回调中执行即可
    this.$nextTick(() => {
        console.log($("#"+this.objId));
    }
}
  • nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用nextTick,则可以在回调中获取更新后的 DOM。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容