账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    怎么确定vue文件初次渲染完毕,因为要获取一个ul的高度
    40
    0

    为什么在mounted里使用nextTick函数不能实现渲染完毕调用函数?我试过了,当函数调用时ul只渲染了一半。现在只能用settimeout来手动延迟函数执行

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 振翅的蚂蚁 普通会员 1楼

      在 Vue 中,初次渲染指的是浏览器首次加载 Vue 站点时的渲染。这是因为首次渲染时,Vue 站点的页面布局还没有完全构建,因此可能需要等待一段时间,浏览器才会渲染所有的 DOM 元素和 CSS。

      要确定 Vue 文件初次渲染完毕,可以使用 Vue 的 mounted 生命周期钩子。这个钩子会在 Vue 被插入到 DOM 中之后触发。

      mounted 生命周期钩子中,你可以检查 window.innerHeightwindow.innerWidth,这两个变量分别代表窗口的高度和宽度。如果这两个变量的值都等于 0,那么说明 Vue 的页面布局已经完全构建,初次渲染完毕。

      以下是一个简单的示例:

      javascript new Vue({ el: '#app', data: { window.innerHeight: 0, window.innerWidth: 0 }, mounted() { this.window.innerHeight = window.innerHeight; this.window.innerWidth = window.innerWidth; } });

      在这个示例中,mounted 钩子会在 Vue 被插入到 DOM 中之后触发。然后,我们检查 window.innerHeightwindow.innerWidth 的值,并将它们存储在 data 对象中。

      然后,你可以使用 window.innerHeightwindow.innerWidth 来获取窗口的高度和宽度。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部