首页 > 其他分享 >vue2大屏适配,公共组件,copy即用,超详细教程!

vue2大屏适配,公共组件,copy即用,超详细教程!

时间:2025-01-06 13:01:09浏览次数:3  
标签:function default 适配 Object delay vue2 大屏 null type

1.创建内容包裹组件(封装公共组件)scale-screen.vue

<!-- 大屏自适应容器组件 -->
<template>
  <div class="screen-wrapper" ref="screenWrapper" :style="wrapperStyle">
    <slot></slot>
  </div>
</template>
<script>
/**
 * 防抖函数
 */
function debounce(fn, delay) {
  let timer = null
  return function (...args) {
    timer = setTimeout(
      () => {
        typeof fn === 'function' && fn.apply(null, args)
        clearTimeout(timer)
      },
      delay > 0 ? delay : 100
    )
  }
}

export default {
  name: 'VScaleScreen',
  props: {
    width: {
      type: [String, Number],
      default: 1920
    },
    height: {
      type: [String, Number],
      default: 1080
    },
    fullScreen: {
      type: Boolean,
      default: false
    },
    autoScale: {
      type: [Object, Boolean],
      default: true
    },
    selfAdaption: {
      type: Boolean,
      default: true
    },
    delay: {
      type: Number,
      default: 500
    },
    boxStyle: {
      type: Object,
      default: () => ({})
    },
    wrapperStyle: {
      type: Object,
      default: () => ({})
    }
  },
  data() {
    return {
      currentWidth: 0,
      currentHeight: 0,
      originalWidth: 0,
      originalHeight: 0,
      onResize: null,
      observer: null
    }
  },
  watch: {
    selfAdaption(val) {
      if (val) {
        this.resize()
        this.addListener()
      } else {
        this.clearListener()
        this.clearStyle()
    

标签:function,default,适配,Object,delay,vue2,大屏,null,type
From: https://blog.csdn.net/web_z/article/details/144957775

相关文章

  • 剖析Vue2内部运行机制
    Vue.js运行机制全局概览全局概览这一节笔者将为大家介绍一下Vue.js内部的整个流程,希望能让大家对全局有一个整体的印象,然后我们再来逐个模块进行讲解。从来没有了解过Vue.js实现的同学可能会对一些内容感到疑惑,这是很正常的,这一节的目的主要是为了让大家对整个流程有一个大......
  • vue2把后端响应数据保存ex表格
    在Vue中实现点击按钮将后端响应的数据导出为.xlsx文件,可以使用axios进行数据请求,并结合xlsx和file-saver库完成文件的生成和下载。以下是完整实现步骤:1.安装依赖库运行以下命令安装所需的库:npminstallxlsxfile-saveraxios2.创建导出功能组件代码示例<te......
  • 瑞芯微rk3568平台 openwrt系统适配ffmpeg硬件解码(rkmpp)
    瑞芯微rk3568平台openwrt系统适配ffmpeg硬件解码(rkmpp)RK3568及rkmpp介绍编译安装mpp获取源码交叉编译安装libdrmlibdrm-2.4.89make方式编译(cannotfind-lcairo,不推荐)下载源码编译编译错误:multipledefinitionof`nouveaudebug‘错误cannotfi......
  • 计算机毕业设计PyHive+Hadoop深圳共享单车预测系统 共享单车数据分析可视化大屏 共享
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......
  • Vue3中的响应式系统和Vue2有什么区别?
    Vue3中的响应式系统与Vue2相比,存在显著的差异,这些差异主要体现在以下几个方面:响应式原理:Vue2使用Object.defineProperty来实现数据的响应式,这种方法只能监听对象属性的setter和getter,不能监听对象本身的变动,如新增属性,且对数组的操作需要特殊处理。Vue3则采用ES6的Proxy对象......
  • uniapp简单移动端H5电脑端适配方案
    1、创建pc.js//#ifdefH5(function(){varu=navigator.userAgent,w=window.innerWidth;if(!u.match(/AppleWebKit.*Mobile.*/)||u.indexOf("iPad")>-1){window.innerWidth=750*(w/1920);window.onload=function(){......
  • 请说说vue3相比于vue2有什么优势?
    Vue3相比于Vue2在前端开发中具有以下显著优势:性能提升:Vue3通过优化VirtualDOM和模板编译,实现了更快的页面渲染速度和更高的性能。特别是在处理大量数据和复杂组件时,这种优势更加明显。此外,Vue3还支持异步渲染,这进一步提高了网站的加载速度。响应式系统改进:Vue3使用了Proxy代理......
  • 为什么vue3会比vue2性能高?
    Vue3相比Vue2性能更高的原因主要可以归结为以下几点:响应式系统的改进:Vue3使用了基于ES6Proxy的响应式系统,取代了Vue2中基于Object.defineProperty的实现。这种新的响应式系统可以更有效地追踪数据的变化,并且能够监听对象属性的添加和删除以及数组内部的变化,从而提供更精确和高......
  • (免费源码)计算机毕业设计必学必看 万套实战教程 java、python、php、node.js、c#、APP
    摘 要本论文主要论述了如何使用SSM框架开发一个网络课程系统,将严格按照软件开发流程进行各个阶段的工作,采用B/S架构Java技术,面向对象编程思想进行项目开发。在引言中,将论述网络课程系统的当前背景以及系统开发的目的,后续章节将严格按照软件开发流程,对系统进行各个阶段分析......
  • (免费源码)计算机毕业设计必学必看 万套实战教程 java、python、php、node.js、c#、APP
    摘 要随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用Java技术建设健康饮食推荐系统。本设计主要实现集人性化、高效率、便捷等优点于一身的健康饮......