我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue常用的数字孪生可视化的自适应方案

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

vue常用的数字孪生可视化的自适应方案

写在前面

前面博主写过一篇文章 面试官:除了 HTTP,你还用过什么通信协议?(Websocket 在数字孪生中的应用),简述了数字孪生产品的数据更新机制,对于数字孪生产品来说,数据非常重要,孪生世界的数据呈现可以反映现实世界的真实情况,而在数据展示中,除了数据更新机制之外,还有一个非常非常重要的东西,那就是可视化表格的展现,而由于数字孪生可视化界面主要用于展示数据,因此在大部分应用场景中,它经常被放到各式各样的展示屏幕展示,可能是普通的电脑屏幕,可能是平板,也有可能是好几块屏幕组成的可视化大屏系统,那么表格的自适应便成了展示的重要衡量标准,如何完成自适应调整,将在产品体验中占据非常重要的比重!

各自适应方案对比

百分比自适应方案

按百分比实现自适应应该是最最简单的方式了,不需要额外增加如何配置,即可实现,我们来做个试验测试一下按百分比实现自适应的效果

<template>
  <div class="box">
    <div class="inner-box">
    </div>
  </div>
</template>
<style lang='scss' scope>
  .box {
    width: 100vw;
    height: 100vh;
    .inner-box {
      width: 20%;
      height: 20%;
      background: cadetblue;
    }
  }
</style>

我们先定义一个外部容器 box ,然后在 box 里创建一个用于自适应的长方形 inner-box,然后将自适应长方形宽和高都设置为20%

我们可以看到,当我们将其宽高都设置为百分比时,window 的宽、高变化时,长方形的宽和高也将随着发生变化,可以实现初步的自适应。

而当我们将这样一个自适应方案应用到数字孪生可视化界面上时,我们会发现,效果有点差强人意

通过我们模拟占位的表格可以很明显看出,当我们对窗口进行横向和竖向的缩放时,左右边的表格是进行了自适应的,而由于在这个自适应方案中宽和高并没有什么联系,导致了宽高各自自适应,最终导致了表格宽高比例严重失衡,展现得非常 ugly,所以,这个方案在数字孪生可视化这个应用场景中并不适合。

Rem + Resize

第二个方案采用的是 rem,而 rem 的原理是根据根元素 fontsize 来计算 rem 的单位长度,那么我们就可以通过监听 window 的 resize,动态修改 fontsize,进而影响 rem,最终达到自适应的效果,下面我们做个测试

// resize.js
const scaleListener = () => {
  window.addEventListener('resize', resize)
  console.log('scaleListening......')
}
const resize = () => {
  // 与原来 1080 的比值
  let scale = window.innerHeight / 1080
  document.documentElement.style.fontSize = `${16 * scale}px` 
  console.log('resize')
}
export {
  scaleListener
}
// APP.vue
<script>
import { scaleListener } from '../class="lazy" data-src/components/resize/resize';
export default {
  mounted() {
    scaleListener()
  },
}
</script>

首先我们定义了一个 resize 函数用于启动监听 window 的resize 事件,当 window 发生 resize 时,通过与事先定义的标准屏幕高度 1080 对比,计算比值,更新事先定义的标准 fontsize 16px。

这个时候,当我们在组件中使用 rem 作为单位时,随着 window 的 resize,rem 将被重置,元素也将被重置,值得注意的是,这个时候,由于表格的宽高采用的都是 rem ,因此在触发 resize 时,表格的宽高比例不会发生变化,也就达到了数字孪生可视化产品所应具有的自适应标准了

可能大家会有疑问,为啥是监听 height 而不是 width,主要的原因是数字孪生可视化界面一般表格都处于左右两边,宽度变化对于表格并不会造成大的影响,只要表格做到靠左、靠右显示即可,而高度才是影响表格的重要因素,当高度变化时,表格如果不进行缩放,表格的内容将会无法完整显示。

以上就是vue常用的数字孪生可视化的自适应方案的详细内容,更多关于vue数字孪生可视化自适应的资料请关注编程网其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue常用的数字孪生可视化的自适应方案

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

漏刻有时数据可视化大屏常见问题(9):mysql数据库.sql文件制作自动安装格式的解决方案

在数据可视化制作的过程中,数据库结构总是在不断的调整和变化中。为了给程序开发者更好的操作体验,简化操作流程,需要在程序测试完毕打包版本的时候,对数据库进行格式操作,以便完成初始化的自动安装。现就如何实现数据库自动安装格式的步骤整理如下: 导出数据 进入phpM
漏刻有时数据可视化大屏常见问题(9):mysql数据库.sql文件制作自动安装格式的解决方案
2018-07-09

编程热搜

目录