vue-$nextTick用法和使用场景
经过这一趟流程下来相信你也对 vue-$nextTick用法和使用场景 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!
概念
-
this.$nextTick () 将回调延迟到下次DOM更新循环之后执行,视图更新之后。
-
在修改数据之后立即使用它,然后等待DOM更新,DOM渲染再快也是需要时间的。
解决方案
this.$nextTick(()=> {
// 需要执行的操作
})
使用场景
1.data中有个值是a=111,当我们在methods中先修改a=222,在打印值时。发现还是a=111,
DOM更新再快也要时间,this.$nextTick () 回调函数在dom更新之后在执行。
2.creater () {} 是在页面渲染之前执行,这时候用$refs获取元素是undefinde,因为dom还没开始渲染
// created 里面写一个这个就可以获取到dom元素
this.$nextTick(()=> {
// 需要执行的操作
this.$refs.元素
})
3.父组件给子组件传递值时,每次触发把0改成1,会导致第二次子组件侦听不到,因为第二次1改成1察觉不到变化,这是可以每次先改0等DOM渲染更新完在改成1
// 每次执行先改0
// DOM更新完
this.$nextTick(()=> {
// 再改1
})
4.树结构默认选中时,接口掉完数据等DOM渲染完毕在执行默认选中-不然会报错(树结构还没渲染完)
总结:
经过这一趟流程下来相信你也对 vue-$nextTick用法和使用场景 有了初步的深刻印象,但在实际开发中我 们遇到的情况肯定是不一样的,所以我们要理解它的原理,万变不离其宗。加油,打工人!
有什么不足的地方请大家指出谢谢 -- 風过无痕
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)