vue3動態(tài)監(jiān)聽瀏覽器窗口變化實(shí)例
定義一個屬性記錄寬度
const screenWidth = ref(window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth)
在 vue mounted 的時候 去掛載一下 window.onresize 方法
? onMounted(() => {
? ? ? window.onresize = () => {
? ? ? ? return (() => {
? ? ? ? ? screenWidth.value = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth
? ? ? ? })()
? ? ? }
? ? })去監(jiān)聽這個 屬性值的變化,如果發(fā)生變化則講這個 val 傳遞給 this.screenWidth
?watch(() => screenWidth, (val) => {
? ? ? screenWidth.value = val
? ? })這樣screenWidth就跟隨瀏覽器的窗口大小動態(tài)變化了
進(jìn)行使用
? ? const programHaplomultiple = computed(() => {
? ? ? return (screenWidth.value * 0.52) / infoContent.value.width / 320
? ? })附:vue3監(jiān)聽窗口變化來進(jìn)行頁面操作
當(dāng)需要監(jiān)聽窗口的寬度變化來對頁面進(jìn)行dom隱藏或修改時,操作如下
onMounted(()=>{
//監(jiān)聽窗口變化
window.onresize=()=>{
return(()=>{
window.screenWidth=document.body.clientWidth;
viewWidth.value=window.screenWidth;
})();
};
});
//視口寬度
const vieWith=ref(document.documentElement.clientWidth||document.body.clientWidth);視口寬度就可以獲取到了,直接用vieWith的值就可以來判斷dom的隱藏或修改啦
總結(jié)
到此這篇關(guān)于vue3動態(tài)監(jiān)聽瀏覽器窗口變化的文章就介紹到這了,更多相關(guān)vue3動態(tài)監(jiān)聽瀏覽器窗口內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue2 element 表頭查詢功能實(shí)現(xiàn)代碼
本文介紹Vue2中Element UI表格自定義表頭及查詢功能實(shí)現(xiàn),需通過slot-scope綁定數(shù)據(jù),注意Vue2.6+版本改用#header語法,并提供示例代碼說明,感興趣的朋友一起看看吧2025-07-07
解決Vue路由導(dǎo)航報錯:NavigationDuplicated:?Avoided?redundant?navig
這篇文章主要給大家介紹了關(guān)于解決Vue路由導(dǎo)航報錯:NavigationDuplicated:?Avoided?redundant?navigation?to?current?location的相關(guān)資料,這是最近做項(xiàng)目時候遇到的一個問題,現(xiàn)將解決辦法分享出來,需要的朋友可以參考下2023-01-01
vue3在單個組件中實(shí)現(xiàn)類似mixin的事件調(diào)用
這篇文章主要為大家詳細(xì)介紹了vue3如何在單個組件中實(shí)現(xiàn)類似mixin的事件調(diào)用,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
基于Ant-design-vue的Modal彈窗 封裝 命令式與Hooks用法
這篇文章主要給大家介紹了基于Ant-design-vue的Modal彈窗封裝命令式與Hooks用法,文中有詳細(xì)的代碼示例,具有一定的參考價值,感興趣的同學(xué)可以借鑒閱讀2023-06-06

