vue中怎么判断何时渲染完毕,mouted中写$nexttick,发现并不好使。有没有好的方法?

从后台拿的一个很大list,因为最后要拿到这个list的高度,通过monted获取不到

阅读 4.8k
3 个回答

判断list的length或者用setTimeout

1.生命钩子mounted里面的代码就是渲染完毕执行的。你可以在mounted里面写代码,如果执行了就渲染完毕。
2.如果你在mounted里面发起一些请求,你想知道请求回来之后,页面是否更新完毕。可以在data写一个变量,
在请求回来后,无论失败成功,都去改变这个变量,如果这个变量被改变了,说明请求完成。

  • 在 created 进行 ajax 请求,
  • 在 mounted 中渲染DOM,需要设置20ms的延迟
  • 在数据 DOM 节点用 v-if 判断数据是否存在再渲染。

export default {
    mounted() {
        setTimeout(fn,20)
    }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题