vue監(jiān)聽屏幕尺寸變化問題,window.onresize很簡單
更新時間:2023年10月21日 11:00:46 作者:nilmao
這篇文章主要介紹了vue監(jiān)聽屏幕尺寸變化問題,window.onresize很簡單,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
vue監(jiān)聽屏幕尺寸變化
>> 可在任意組件中使用
1.在data中定義一個變量,用于記錄屏幕尺寸;
data(){ return{ screenWidth: null, } }
且做好定義為 null
2.使用 window.onresize 方法獲取屏幕尺寸;
mounted() { this.screenWidth = document.body.clientWidth window.onresize = () => { return (() => { this.screenWidth = document.body.clientWidth })() } },
需要在 mounted() 鉤子中
3.使用 watch 方法即可實時監(jiān)聽屏幕尺寸;
watch: { screenWidth: { handler: function (val) { if (val < 900) { console.log(val+'屏幕寬度小于900px') } else { console.log(val+'屏幕寬度大于900px') } }, immediate: true, deep:true }, }
搞定!
window.onresize無效問題
vue中使用window.onresize時無效,由于使用多次 導(dǎo)致后面將之前的所覆蓋
解決
使用window.addEventListener() 即可,
代碼如下:
mounted:{ // 綁定resize window.addEventListener('resize', ()=>{ // 書寫代碼內(nèi)容 }) }, destoryed:{ // 解綁resize window.removeEventListener('resize', ()=>{ }) }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue?+?element-ui?背景圖片設(shè)置方式
這篇文章主要介紹了Vue?+?element-ui?背景圖片設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08使用vue-infinite-scroll實現(xiàn)無限滾動效果
vue-infinite-scroll插件可以無限滾動實現(xiàn)加載更多,其作用是是當(dāng)滾動條滾動到距離底部的指定高度時觸發(fā)某個方法。這篇文章主要介紹了用vue-infinite-scroll實現(xiàn)無限滾動效果,需要的朋友可以參考下2018-06-06