vue实时获取页面宽高(js和vue插件)

36 篇文章 0 订阅
<template>
    <div :style="{ height: windowHeight+ 'px' }">1</div>
</template>

方法一: js

export default {
    data(){
        return{
            windowWidth: document.documentElement.clientWidth,  //实时屏幕宽度
            windowHeight: document.documentElement.clientHeight,   //实时屏幕高度
        }
    },    
    // <!--在watch中监听实时宽高-->
    watch: {
      windowHeight (val) {
        let that = this;
        console.log("实时屏幕高度:",val, that.windowHeight );
      },
      windowWidth (val) {
        let that = this;
        console.log("实时屏幕宽度:",val, that.windowHeight );
      }
    },
 
    mounted() {
        var that = this;
        // <!--把window.onresize事件挂在到mounted函数上-->
        window.onresize = () => {
            return (() => {
              window.fullHeight = document.documentElement.clientHeight;
                window.fullWidth = document.documentElement.clientWidth;
              that.windowHeight = window.fullHeight;  // 高
              that.windowWidth = window.fullWidth; // 宽
            })()
          };
    },
}

方法二:

使用vue插件  element-resize-detector

 第一步:安装

安装命令  npm install --save element-resize-detector

卸载命令  npm uninstall element-resize-detector

第二步:引入 

<script>
import elementResizeDetector from "element-resize-detector";
</script>

第三步:使用

export default {
    data(){
        return{
            windowHeight:null,
            windowWidth:null,
 
    },
    mounted() {
      const that = this;
      var erd = elementResizeDetector();
      erd.listenTo('监听的dom', (element) => {   //监听的domdocument.get方法获取
        that.windowWidth= element.offsetWidth;
        that.windowHeight= element.offsetHeight;
        that.$nextTick(() => { 
            console.log("宽:"+that.windowWidth,"高:"+that.windowHeight)
            // 这里填写监听改变后的操作
        });
      });
    },
    
 
 
 
}
 
 
 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值