「vue3」useCssVar 无法初始化值

2023-07-04 10:39:55 +08:00
 wdssmq

我发完贴回去刷新了一下就发现 initialValue 生效了。。Why ???????

所以下一个问题是,手机松开滑动时才会响应 resize 事件,,有什么方案优化么?


手机端的 100vh 和实际并不一致,会被浏览器自身的底部工具条遮挡,所以用了 window.innerHeight * 0.01 自动计算,然而加载完成后并不能成功初始化;

// const vhSize = useCssVar('--vhSize', appLeft, { initialValue: GetVh() })
const vhSize = useCssVar('--vhSize', appLeft, { initialValue: '7.56px' })
// 上边 initialValue 指定不生效

const setVhSize = () => {
  vhSize.value = GetVh()
}
// setVhSize()
// 无论是这样直接调用还是写在 onMounted() 里都不管用

// 这里响应窗口变化到是正常
useEventListener(window, 'resize', (event) => {
  setVhSize()
})

useCssVar | VueUse 中文文档:

http://www.vueusejs.com/core/useCssVar/

516 次点击
所在节点    问与答
1 条回复
wdssmq
2023-07-04 12:32:36 +08:00
up. 手机端侧栏高度设置 · wdssmq/Just-Imgs@17d7c37
https://github.com/wdssmq/Just-Imgs/commit/17d7c37dae6294269a18c77667eb2ce9b91fe4a6

姑且用 nextTick() 搞定了。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/953899

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX