【发布时间】:2020-05-10 04:25:01
【问题描述】:
我有一个 Vue 应用程序,其顶部有导航栏样式的菜单项。菜单项的数量根据登录用户的类型而变化。有时可能是 3 项,有时可能多达 6 项。 我试图弄清楚如何确定何时在此导航栏的桌面版本(其中项目被布置为一排按钮)和菜单隐藏在类型抽屉的幻灯片中的移动版本之间切换。
我已经覆盖了 updated() 生命周期钩子以在启动时选择适当的视图。我在包含菜单按钮的 div 上使用 ref。从中我可以得到 scrollWidth(显示所有按钮所需的像素数量)和 clientWidth(给定 div 的像素数量)。我有溢出:隐藏。
据此,我可以确定何时需要从桌面视图切换到移动视图。我正在使用 resizeObserver 来捕捉调整大小。这对于从桌面切换到移动非常有用。
但问题是,一旦我在移动设备中,桌面导航栏就不是 dom 的一部分,所以我不知道渲染它需要多少像素,所以我不知道什么时候从移动设备切换回来到桌面,因为用户将窗口调整得更大。
我也不知道不同语言的菜单按钮会有多宽。
有什么建议吗? 谢谢 格雷格
【问题讨论】:
标签: vue.js