最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue監(jiān)聽屏幕尺寸變化問題,window.onresize很簡(jiǎn)單

 更新時(shí)間:2023年10月21日 11:00:46   作者:nilmao  
這篇文章主要介紹了vue監(jiān)聽屏幕尺寸變化問題,window.onresize很簡(jiǎn)單,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue監(jiān)聽屏幕尺寸變化

>> 可在任意組件中使用

1.在data中定義一個(gè)變量,用于記錄屏幕尺寸;

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 方法即可實(shí)時(shí)監(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無(wú)效問題

vue中使用window.onresize時(shí)無(wú)效,由于使用多次 導(dǎo)致后面將之前的所覆蓋

解決

使用window.addEventListener() 即可,

代碼如下:

mounted:{
    // 綁定resize
    window.addEventListener('resize', ()=>{
        // 書寫代碼內(nèi)容
    })
},
destoryed:{
    // 解綁resize
    window.removeEventListener('resize', ()=>{
        
    })
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

繁峙县| 新干县| 云林县| 邵武市| 和静县| 临湘市| 安丘市| 清远市| 托里县| 左贡县| 东莞市| 内乡县| 龙南县| 固安县| 伊通| 毕节市| 岑溪市| 洛隆县| 郁南县| 固镇县| 景东| 确山县| 泰安市| 武川县| 蒙山县| 武隆县| 平乐县| 安阳市| 洛浦县| 全南县| 喀什市| 邳州市| 栾城县| 临湘市| 吉隆县| 古田县| 曲靖市| 泽州县| 资溪县| 麟游县| 丰宁|