亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

vue2.0中自適應(yīng)echarts圖表、全屏插件screenfull的使用

 更新時(shí)間:2024年08月10日 10:15:05   作者:牛仔很會(huì)忙  
這篇文章主要介紹了vue2.0中自適應(yīng)echarts圖表、全屏插件screenfull的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

該案例是基于vue2.0腳手架,使用了elementUI、eCharts、screenfull插件

自適應(yīng)echarts圖表

  • 第一:自適應(yīng)的echarts圖表,要配合著能夠自適應(yīng)的盒子來(lái)使用,首先就是盒子要能夠跟隨屏幕大小改變而改變,比如我們使用彈性盒子就可以實(shí)現(xiàn)。
  • 第二:要想實(shí)現(xiàn)自適應(yīng)的echarts圖表,就是當(dāng)窗口發(fā)生改變時(shí),echarts圖表的尺寸重新定義一下,使用resize的方法就可以實(shí)現(xiàn)。

總體布局

<template>
    <div class="aboutPage">
        <div class="chartBoxWrap" ref="chartBox">
            <div id="chartBox"></div>
        </div>
    </div>
</template>
<style lang="scss" scoped>
.chartBoxWrap {
    display: flex;
    height: 600px;

    #chartBox {
        flex: 1;
        background-color: #f0faf0;
    }
}
</style>

創(chuàng)建echarts圖表的方法

initChart(e){
            let myChart = echarts.init(document.getElementById("chartBox"))
            myChart.setOption({
                title:{
                    text:"自適應(yīng)圖表"
                },
                legend:{
                    show:true,
                    icon:'circle'
                },
                xAxis:{
                    type:'category',
                    name:"月份",
                    data:e.xData
                },
                yAxis:{
                    type:'value',
                    axisLine:{
                        show:true
                    },
                    axisTick:{
                        show:true
                    }
                },
                series:[
                    {
                        type:"line",
                        smooth:"true",
                        data:e.data
                    }
                ]
            })
            window.onresize=function(){  // 當(dāng)屏幕尺寸發(fā)生變化時(shí),圖表尺寸同時(shí)發(fā)生改變
                myChart.resize()
            }
        }

使用

在mounted中調(diào)用這個(gè)方法,并且將數(shù)據(jù)傳入進(jìn)去,那么就可以實(shí)現(xiàn)自適應(yīng)echarts圖表了

后面會(huì)有整個(gè)的一個(gè)案例,可以后面一起復(fù)制過(guò)去

screenfull全屏插件

首先在項(xiàng)目中安裝這個(gè)插件,使用npm指令

npm install screenfull -S

在需要使用的組件,引入一下即可

import screenfull from "screenfull";
  • 判斷是否支持全屏isEnabled screenfull.isEnabled,返回布爾值
  • 判斷是否已進(jìn)入全屏模式isFullscreenscreenfull.isFullscreen,返回布爾值
  • 進(jìn)入全屏request(this.$refs.refName)screenfull.request(this.$refs.refName),里面的參數(shù)可以省略,如果省略,那么就默認(rèn)整個(gè)組件進(jìn)入全屏模式,如果想要某個(gè)部分進(jìn)入全屏,那么給這個(gè)元素定義一個(gè)ref,將其填入?yún)?shù)中,即可實(shí)現(xiàn)
  • 退出全屏exit()screenfull.exit()
  • 來(lái)回切換toggle(this.$refs.refName)screenfull.toggle(this.$refs.refName),切換全屏和非全屏,如果需要單獨(dú)切換某個(gè)部分,那么里面可以加入?yún)?shù)

使用的方法

toScreenfull(){
            console.log(screenfull.isEnabled)
            if(screenfull.isEnabled){   // 判斷是否支持全屏
            screenfull.toggle(this.$refs.chartBox);   // 使用toggle方法
            }else{
                this.$message.error('不支持全屏')
            }
            if(screenfull.isFullscreen){  // 判斷是否為全屏,如果是false就是沒(méi)有全屏
                this.text="全屏"
                this.iconType='el-icon-zoom-in'
            }else{
                this.text="退出全屏"
                this.iconType='el-icon-zoom-out'
            }
        }

自適應(yīng)圖表和screenfull案例

<template>
    <div class="aboutPage">
        <div class="chartBoxWrap" ref="chartBox">
            <el-button type="primary" :icon="iconType" @click="toScreenfull">
                {{text}}
            </el-button>
            <div id="chartBox"></div>
        </div>
    </div>
</template>
<script>
import * as echarts from 'echarts'
import screenfull from "screenfull";

export default {
    data() {
        return {
            text:'全屏',
            iconType:'el-icon-zoom-in',
            chartData:{
                xData:["一月份","二月份","三月份","四月份"],
                data:[50,24,86,89]
            }
        }
    },
    methods: {
        toScreenfull(){
            console.log(screenfull.isEnabled)
            if(screenfull.isEnabled){   // 判斷是否支持全屏
            screenfull.toggle(this.$refs.chartBox);   // 使用toggle方法
            }else{
                this.$message.error('不支持全屏')
            }
            if(screenfull.isFullscreen){  // 判斷是否為全屏,如果是false就是沒(méi)有全屏
                this.text="全屏"
                this.iconType='el-icon-zoom-in'
            }else{
                this.text="退出全屏"
                this.iconType='el-icon-zoom-out'
            }
        },
        initChart(e){
            let myChart = echarts.init(document.getElementById("chartBox"))
            myChart.setOption({
                title:{
                    text:"自適應(yīng)圖表"
                },
                legend:{
                    show:true,
                    icon:'circle'
                },
                xAxis:{
                    type:'category',
                    name:"月份",
                    data:e.xData
                },
                yAxis:{
                    type:'value',
                    axisLine:{
                        show:true
                    },
                    axisTick:{
                        show:true
                    }
                },
                series:[
                    {
                        type:"line",
                        smooth:"true",
                        data:e.data
                    }
                ]
            })
            window.onresize=function(){  // 當(dāng)屏幕尺寸發(fā)生變化時(shí),圖表尺寸同時(shí)發(fā)生改變
                myChart.resize()
            }
        }
    },
    mounted() {
        this.$nextTick(()=>{
            this.initChart(this.chartData)
        })
    },
}
</script>
<style lang="scss" scoped>
.chartBoxWrap {
    display: flex;
    height: 600px;

    #chartBox {
        flex: 1;
        background-color: #f0faf0;
    }
}
</style>

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue中解決異步交互數(shù)據(jù)出現(xiàn)延遲問(wèn)題

    vue中解決異步交互數(shù)據(jù)出現(xiàn)延遲問(wèn)題

    這篇文章主要介紹了vue中解決異步交互數(shù)據(jù)出現(xiàn)延遲問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • vue3封裝request請(qǐng)求的完整案例

    vue3封裝request請(qǐng)求的完整案例

    本文提供了如何將Vue3的靜態(tài)頁(yè)面集成到基于Vue2的若依項(xiàng)目中,并確保能夠訪問(wèn)Vue2的接口,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2024-09-09
  • Vue Router添加全局$router屬性的示例詳解

    Vue Router添加全局$router屬性的示例詳解

    這篇文章主要介紹了Vue-Router-添加全局$router屬性,在 Vue 中有一個(gè) mixin 方法,這個(gè)方法會(huì)在每個(gè)組件創(chuàng)建之前被調(diào)用,我們可以在這個(gè)方法中將 VueRouter 實(shí)例掛載到 Vue 實(shí)例上,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-11-11
  • vue axios請(qǐng)求頻繁時(shí)取消上一次請(qǐng)求的方法

    vue axios請(qǐng)求頻繁時(shí)取消上一次請(qǐng)求的方法

    這篇文章主要介紹了vue axios請(qǐng)求頻繁時(shí)取消上一次請(qǐng)求的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • elementUI中el-dropdown的command實(shí)現(xiàn)傳遞多個(gè)參數(shù)

    elementUI中el-dropdown的command實(shí)現(xiàn)傳遞多個(gè)參數(shù)

    這篇文章主要介紹了elementUI中el-dropdown的command實(shí)現(xiàn)傳遞多個(gè)參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue3實(shí)現(xiàn)局部頁(yè)面刷新效果的示例詳解

    vue3實(shí)現(xiàn)局部頁(yè)面刷新效果的示例詳解

    這篇文章主要為大家詳細(xì)介紹了vue3如何采用 App.vue定義全局變量與方法并實(shí)現(xiàn)局部頁(yè)面刷新效果,文中的示例代碼講解詳細(xì),需要的可以參考一下
    2024-01-01
  • Vue3中Teleport的用法小結(jié)

    Vue3中Teleport的用法小結(jié)

    Teleport是一個(gè)內(nèi)置組件,它可以將一個(gè)組件內(nèi)部的一部分模板傳送到該組件的 DOM 結(jié)構(gòu)外層的位置去,本文主要介紹了Vue3中Teleport用法小結(jié),感興趣的可以了解一下
    2025-04-04
  • vue的自定義指令傳參方式

    vue的自定義指令傳參方式

    這篇文章主要介紹了vue的自定義指令傳參方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • vue3.0封裝輪播圖組件的步驟

    vue3.0封裝輪播圖組件的步驟

    這篇文章主要介紹了vue3.0封裝輪播圖組件的步驟,幫助大家更好的理解和學(xué)習(xí)使用vue框架,感興趣的朋友可以了解下
    2021-03-03
  • vue操作動(dòng)畫(huà)的記錄animate.css實(shí)例代碼

    vue操作動(dòng)畫(huà)的記錄animate.css實(shí)例代碼

    這篇文章主要介紹了vue操作動(dòng)畫(huà)的記錄animate.css的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04

最新評(píng)論