vue3 21 数据大屏scale

数据类型 ?:,有就指定

 

40.根据菜单动态生成路由,将路由放到store里

配置路由数据类型:

在template标签上做遍历的好处是,标签不会渲染到页面 

 菜单的递归(Menu):

 

130数据大屏:

法1:

  1. // 数据大屏的dom

  2. let screen = ref<HTMLElement>()

 法2:

// 设计稿基准宽度和高度
      baseWidth: 1920,
      baseHeight: 1080,
      // 当前屏幕的实际宽度和高度
      screenWidth: 0,
      screenHeight: 0,
      // 计算得到的缩放因子
      scaleFactor: 1,

<template>
  <div id="app" ref="screenContainer">
    <router-view />
  </div>
</template> 

initScreenSize () {
      // 获取当前屏幕的实际宽度和高度
      this.screenWidth = this.$refs.screenContainer.clientWidth;
      this.screenHeight = this.$refs.screenContainer.clientHeight;
      // 计算缩放比例,这里以宽度为基础进行计算,也可以根据需求调整为高度或其他策略
      const scaleWidth = this.screenWidth / this.baseWidth;
      const scaleHeight = this.screenHeight / this.baseHeight;
      // 选择较小的缩放比例,以防止内容超出屏幕
      this.scaleFactor = Math.min(scaleWidth, scaleHeight);
      // 如果需要等比例缩放并允许留白,可以统一使用一个比例,如:
      // this.scaleFactor = Math.min(1, Math.min(scaleWidth, scaleHeight));
      // 触发重新渲染
      // this.$forceUpdate();
      this.$refs.screenContainer.style.transform = `scale(${this.scaleFactor})`
    },
 beforeDestroy () {
    window.removeEventListener('resize', this.initScreenSize);
  },
 mounted () {
    if (this.$refs.screenContainer.clientWidth > this.baseWidth) {
      this.initScreenSize();
      window.addEventListener('resize', this.initScreenSize);
    }
    document.body.style.background = this.currentStyle['--primary-color-4'];
  },

对于vue大屏实时监控,可以使用以下工具和组件来实现: 1. 监控视频文件流:可以使用video.js和videojs-contrib-hls来处理视频文件流的播放和展示。 [1] 2. 大屏适配方案:可以使用v-scale-screen来适应不同尺寸的屏幕,使得页面在不同设备上都可以正常显示。 [1] 3. 实时数据刷新和渲染:可以使用vue、datav和Echart等框架来实现大数据的可视化展示,并通过vue组件实现数据的动态刷新和渲染。 [3] 综上所述,通过组合使用video.js、v-scale-screen和vue等技术,可以实现vue大屏实时监控的需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [vue项目业务实现,视频监控-文件流,大屏适配方案(v-scale-screen),websocket前端](https://blog.csdn.net/CRMEB/article/details/131537791)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [基于VUE + Echarts 实现可视化数据大屏监控系统可视化](https://blog.csdn.net/qq_365392777/article/details/127495184)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值