国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Vue3 + Vite + TypeScript + dataV 打造可視化大屏

這篇具有很好參考價(jià)值的文章主要介紹了Vue3 + Vite + TypeScript + dataV 打造可視化大屏。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

前言

網(wǎng)上有許多開(kāi)源的可視化大屏項(xiàng)目,但是分析之后,還是想自己從 0 搭建一個(gè)可視化大屏項(xiàng)目,畢竟 Vue 一直在更新,自己搭建的可以使用最新版本的 Vue ,如果對(duì)版本沒(méi)有太多要求的小伙伴們選擇那些開(kāi)源項(xiàng)目的基礎(chǔ)上去修改也是很不錯(cuò)的。其次自己搭建一個(gè)項(xiàng)目,可以更好的了解具體的實(shí)現(xiàn)方式。當(dāng)然這個(gè)項(xiàng)目中還是會(huì)引用一些組件庫(kù)。

創(chuàng)建 Vue3 + TypeScript + Vite 項(xiàng)目

這里就不過(guò)多去介紹了,創(chuàng)建項(xiàng)目大家都會(huì),我這里就使用 WebStorm 去創(chuàng)建一個(gè)項(xiàng)目,node 我選用 18.6.0版本的
Vue3 + Vite + TypeScript + dataV 打造可視化大屏

項(xiàng)目創(chuàng)建好之后,我們先來(lái)引入一個(gè)組件庫(kù) DataV Vue3。這個(gè)組件庫(kù)是在 DataV 的基礎(chǔ)上重構(gòu)的

引入 DataV Vue3

  • 首先為什選擇 DataV Vue3 ,是因?yàn)?DataV 雖然有 Vue2,Vue3,React 各個(gè)版本的,但是 Vue3 版本的不支持 Vite
  • 其次,為什么要使用 DataV Vue3 ,是因?yàn)檫@里為我們封裝好了一些酷炫的邊框、裝飾、圖表之類(lèi)的組件,我們可以拿過(guò)來(lái)直接使用
  • 安裝
npm install @kjgl77/datav-vue3
  • 全局引入(也可以按需引入,考慮到每個(gè)頁(yè)面都可能會(huì)用到,所以這里直接在 main.ts 中全局引入)
// main.ts中全局引入
import {
    createApp } from 'vue'
import DataVVue3 from '@kjgl77/datav-vue3'

const app = createApp(App)

app.use(DataVVue3)
app.mount('#app')

接下來(lái)就該屏幕適配的問(wèn)題了,雖然 DataV Vue3 中有全局容器 <dv-full-screen-container>,但是官方文檔中建議在全屏容器內(nèi)使用百分比搭配 flex 進(jìn)行布局,以便于在不同的分辨率下得到較為一致的展示效果。 并且使用前請(qǐng)注意將 body 的 margin 設(shè)為 0 ,否則會(huì)引起計(jì)算誤差,全屏后不能完全充滿屏幕。我還是傾向于直接使用 px 或者 vw、vh 布局,所以打算自己去進(jìn)行屏幕的適配。

屏幕適配

屏幕適配大概有這幾種方式:rem、scale、vw 和 vh、以及 DataV Vue3 中的全局容器,這些方式都可以很好的去進(jìn)行適配,具體選用哪種方法就看各人的喜好以及項(xiàng)目的需求了。個(gè)人比較推薦 scale 這種方式,所以這里就采用 scale 方式來(lái)進(jìn)行屏幕適配

scale 方式

實(shí)現(xiàn)思路

scale 方式,大家都知道就是等比例縮放。一般情況下,我們的設(shè)計(jì)稿尺寸都是 1920*1080 (具體尺寸可以提前和 UI 溝通好),我們就以這個(gè)尺寸作為我們需要保持的默認(rèn)的寬高比例,然后我們使用 window.innerWidth 、 window.innerHeight 獲取瀏覽器窗口內(nèi)部的寬度和高度,之后根據(jù)瀏覽器窗口內(nèi)部的寬高比和默認(rèn)的寬高比來(lái)計(jì)算出需要縮放的比例就可以了。

代碼

我們對(duì)其進(jìn)行封裝提取,在 utils 文件夾中新建一個(gè) scalingRatio.ts 文件文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-438511.html

import {
    ref } from 'vue'

export default function useDraw() {
   
  // 指向最外層容器
  const appRef = ref()
  // 定時(shí)函數(shù)
  const timer = ref(0)
  // 默認(rèn)縮放值
  const scale = {
   
    width: '1',
    height: '1',
  }
  // 設(shè)計(jì)稿尺寸(px)
  const baseWidth = 1920
  const baseHeight = 1080

  // 需保持的比例
  const baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5))
  const calcRate = () => {
   
    // 當(dāng)前寬高比
    const currentRate = parseFloat((window.innerWidth / window

到了這里,關(guān)于Vue3 + Vite + TypeScript + dataV 打造可視化大屏的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • vue2+datav可視化數(shù)據(jù)大屏(3)附自適應(yīng)各分辨率的大屏框架git代碼。

    vue2+datav可視化數(shù)據(jù)大屏(3)附自適應(yīng)各分辨率的大屏框架git代碼。

    接上一節(jié)所說(shuō),當(dāng)我們將接口封裝完了后,我們需要給大屏進(jìn)行內(nèi)容填充啦 ? ? ? ???? 我們?cè)趕er-views文件夾下新建9個(gè)vue組件,如下圖所示,我給編號(hào)為1到9 ???????????在組件里寫(xiě)入內(nèi)容我是第一塊...一次類(lèi)推,一直到第九塊 ? ? ? ???? 在主容器中引入組件,并注冊(cè)

    2024年04月14日
    瀏覽(33)
  • 大數(shù)據(jù)系列 | 阿里云datav數(shù)據(jù)可視化(使用json文件生成可視化動(dòng)態(tài)圖標(biāo))

    大數(shù)據(jù)系列 | 阿里云datav數(shù)據(jù)可視化(使用json文件生成可視化動(dòng)態(tài)圖標(biāo))

    簡(jiǎn)介 DataV 數(shù)據(jù)可視化是搭建每年天貓雙十一作戰(zhàn)大屏的幕后功臣,ECharts 是廣受數(shù)據(jù)可視化從業(yè)者推崇的開(kāi)源圖表庫(kù)。從今天開(kāi)始,DataV 企業(yè)版接入了 ECharts 圖表組件,當(dāng)你使用 DataV 搭建可視化項(xiàng)目時(shí),可以輕松地插入 ECharts,這意味著更豐富多樣的圖表效果,也讓編程小白

    2024年02月12日
    瀏覽(21)
  • 【開(kāi)源項(xiàng)目】低代碼數(shù)據(jù)可視化開(kāi)發(fā)平臺(tái)-Datav

    【開(kāi)源項(xiàng)目】低代碼數(shù)據(jù)可視化開(kāi)發(fā)平臺(tái)-Datav

    Datav是一個(gè)Vue3搭建的低代碼數(shù)據(jù)可視化開(kāi)發(fā)平臺(tái),將圖表或頁(yè)面元素封裝為基礎(chǔ)組件,無(wú)需編寫(xiě)代碼即可完成業(yè)務(wù)需求。 它的技術(shù)棧為:Vue3 + TypeScript4 + Vite2 + ECharts5 + Axios + Pinia2 預(yù)覽地址: https://datav.pengxiaotian.com/ https://gitee.com/pengxiaotian/datav-vue ?? Vue 3.0+ ? Vite 3.0+ ?? Pini

    2024年02月15日
    瀏覽(29)
  • jiaminghi/data-view是什么?(DataV,dv大屏數(shù)據(jù)可視化開(kāi)源組件庫(kù))

    jiaminghi/data-view是什么?(DataV,dv大屏數(shù)據(jù)可視化開(kāi)源組件庫(kù))

    簡(jiǎn)述:相信大家在平時(shí)工作中,難免會(huì)遇到開(kāi)發(fā)大屏的需求,頁(yè)面中有很多比較炫酷的CSS效果。這里給大家推薦一款大屏數(shù)據(jù)展示組件庫(kù),里面有各種邊框、裝飾、圖標(biāo)、飛線圖、水位圖、輪播表等等,支持vue和react,有很多炫酷效果,下面給大家介紹一下; 具體使用方法:

    2024年02月11日
    瀏覽(21)
  • vue3 | 數(shù)據(jù)可視化實(shí)現(xiàn)數(shù)字滾動(dòng)特效

    vue3 | 數(shù)據(jù)可視化實(shí)現(xiàn)數(shù)字滾動(dòng)特效

    vue3不支持vue-count-to插件,無(wú)法使用vue-count-to實(shí)現(xiàn)數(shù)字動(dòng)效,數(shù)字自動(dòng)分割,vue-count-to主要針對(duì)vue2使用,vue3按照會(huì)報(bào)錯(cuò): TypeError: Cannot read properties of undefined (reading \\\'_c\\\') 的錯(cuò)誤信息。這個(gè)時(shí)候我們只能自己封裝一個(gè)CountTo組件實(shí)現(xiàn)數(shù)字動(dòng)效。先來(lái)看效果圖: 使用Vue.component定義公

    2024年02月02日
    瀏覽(26)
  • 記錄vue3+echarts搭建數(shù)據(jù)可視化頁(yè)面!

    記錄vue3+echarts搭建數(shù)據(jù)可視化頁(yè)面!

    提示:記錄一下寫(xiě)頁(yè)面的時(shí)候遇到過(guò)的一些小問(wèn)題! 頁(yè)面布局就是簡(jiǎn)單的用了個(gè)三欄式布局,在寫(xiě)頁(yè)面的過(guò)程中對(duì)于多個(gè)頁(yè)面共同使用的部分要注意善用組件復(fù)用,避免寫(xiě)冗余重復(fù)的代碼! 比如說(shuō)對(duì)于需要重復(fù)使用的圖表容器,可以將其注冊(cè)為全局組件V3Echarts.vue,當(dāng)需要表

    2024年02月16日
    瀏覽(22)
  • Vue3實(shí)現(xiàn)可視化拖拽標(biāo)簽小程序

    Vue3實(shí)現(xiàn)可視化拖拽標(biāo)簽小程序

    實(shí)現(xiàn)功能:可視化標(biāo)簽拖拽,雙擊標(biāo)簽可修改標(biāo)簽內(nèi)容 一個(gè)大DIV包含里面存放兩個(gè)DIV一個(gè)input header為頭部標(biāo)簽名稱 內(nèi)容區(qū)域綁定雙擊鼠標(biāo)事件,觸發(fā)開(kāi)始修改事件(startEditing),使用v-if進(jìn)行標(biāo)簽的顯示和隱藏操作 input標(biāo)簽,事件綁定為修改內(nèi)容,綁定獲取焦點(diǎn)事件(@blue=“

    2024年02月09日
    瀏覽(33)
  • Vue3 +Echarts5 可視化大屏——屏幕適配

    Vue3 +Echarts5 可視化大屏——屏幕適配

    項(xiàng)目基于Vue3 + Echarts5 開(kāi)發(fā),屏幕適配是使用 scale 方案 Echarts組件按需引入,減少打包體積 地圖組件封裝(全國(guó)省份地圖按需加載) 效果圖: 大屏適配常用的方案有 rem + vw/vh 和 scale 。 rem + vw/vh 方案 結(jié)合使用rem(相對(duì)于根元素字體大小的單位)和vw/vh(視窗寬度/高度的單位

    2024年02月15日
    瀏覽(25)
  • Vite+Vue+iClient for Leaflet引入并實(shí)現(xiàn)MapV/Eharts第三方可視化庫(kù)示例

    Vite+Vue+iClient for Leaflet引入并實(shí)現(xiàn)MapV/Eharts第三方可視化庫(kù)示例

    作者:gaogy 最近很多小伙伴咨詢關(guān)于基于Vue3框架搭建iClent開(kāi)發(fā)環(huán)境并使用Echarts與MapV等第三方可視化庫(kù)的問(wèn)題。本文就以iClient for Leaflet為例,在新一代前端框架構(gòu)建工具Vite與Vue3項(xiàng)目中,演示如何搭建iClent開(kāi)發(fā)環(huán)境并使用Echarts與MapV等第三方可視化庫(kù)。 本文所使用的依賴與配

    2024年02月06日
    瀏覽(114)
  • 基于VUE3開(kāi)發(fā)的CAD圖可視化平臺(tái)代碼開(kāi)源了

    基于VUE3開(kāi)發(fā)的CAD圖可視化平臺(tái)代碼開(kāi)源了

    ? 唯杰地圖VJMAP 為 CAD 圖或 自定義地圖格式 WebGIS 可視化 顯示開(kāi)發(fā)提供的一站式解決方案,支持的格式如常用的 AutoCAD 的 DWG 格式文件、 GeoJSON 等常用 GIS 文件格式,它使用 WebGL 矢量圖塊 和 自定義樣式 呈現(xiàn)交互式地圖, 提供了全新的 大數(shù)據(jù)可視化 可視化功能。 ? 唯杰地圖

    2024年01月18日
    瀏覽(24)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包