El gráfico de echarts en VUE3 se convierte en un echarts receptivo para lograr un diseño receptivo

  • gráfico único
    
         
         
          
          
    1. //Obtener el nodo dom
    2. var myChart = echarts. init ( documento . getElementById ( 'main' ));
    3. // renderizar dom
    4. miGráfico. establecerOpción ({...})
    5. // receptivo
    6. ventana _ onresize = función ( ) {
    7. miGráfico. cambiar el tamaño ();
    8. }

    Nota: Este método solo se puede usar para un gráfico. Si hay varios gráficos en una página, solo tendrá efecto para el último gráfico. Cuando lo usamos en vue, a menudo tenemos múltiples gráficos.Aunque dividimos diferentes gráficos en múltiples componentes, todavía solo funciona para un gráfico. Entonces, la forma más efectiva es montarlo globalmente.

  • Gráficos múltiples (enfoque genérico)

        Montar globalmente:


   
   
    
    
  1. importar {createApp} desde 'vue'
  2. importar la aplicación desde './App.vue'
  3. importar enrutador desde './router/index'
  4. // Introducir elemento-ui
  5. importar ElementPlus desde 'element-plus'
  6. importar 'element-plus/dist/index.css'
  7. const app = createApp ( Aplicación )
  8. aplicación uso ( ElementPlus )
  9. aplicación usar (enrutador)
  10. aplicación montar ( '#aplicación' )
  11. //Método - montaje global
  12. aplicación configuración _ Propiedades globales . $echartsResize = función ( ref:cualquiera ){
  13. ventana _ addEventListener ( 'redimensionar' , función ( ) {
  14. árbitro. cambiar el tamaño ()
  15. })
  16. }
  17. //Propiedades--montaje global
  18. aplicación configuración _ Propiedades globales . $axios = Axios ;
  19. app.config.globalProperties . $Test = " Estoy en el global " ;

En el uso de componentes:

        En la instancia del componente, debe introducir getCurrentInstance de vue y luego obtener el proxy a través de getCurrentInstance, y luego puede obtener la instancia montada globalmente para su uso.


   
   
    
    
  1. <configuración del guión>
  2. importar {onMounted} de 'vue' ;
  3. importar * como echarts de 'echarts' ;
  4. // Introducir getCurrentInstance
  5. importar {getCurrentInstance} desde 'vue'
  6. const {proxy} = getCurrentInstance ();
  7. const echartInit = ( datos ) => {
  8. // Basado en el dom preparado, inicializa la instancia de echarts
  9. var myChart = echarts. init ( documento . getElementById ( 'main' ));
  10. // dibujar el gráfico
  11. miGráfico. establecerOpción ({...});
  12. // Reactivo -- uso
  13. proxy.$echartsResize(miGráfico)
  14. }
  15. en Montado ( asíncrono () => {
  16. echartInit()
  17. })
  18. </script>

  • gráfico único
    
         
         
        
        
    1. //Obtener el nodo dom
    2. var myChart = echarts. init ( documento . getElementById ( 'main' ));
    3. // renderizar dom
    4. miGráfico. establecerOpción ({...})
    5. // receptivo
    6. ventana _ onresize = función ( ) {
    7. miGráfico. cambiar el tamaño ();
    8. }

    Nota: Este método solo se puede usar para un gráfico. Si hay varios gráficos en una página, solo tendrá efecto para el último gráfico. Cuando lo usamos en vue, a menudo tenemos múltiples gráficos.Aunque dividimos diferentes gráficos en múltiples componentes, todavía solo funciona para un gráfico. Entonces, la forma más efectiva es montarlo globalmente.

  • Gráficos múltiples (enfoque genérico)

        Montar globalmente:


   
   
  
  
  1. importar {createApp} desde 'vue'
  2. importar la aplicación desde './App.vue'
  3. importar enrutador desde './router/index'
  4. // Introducir elemento-ui
  5. importar ElementPlus desde 'element-plus'
  6. importar 'element-plus/dist/index.css'
  7. const app = createApp ( Aplicación )
  8. aplicación uso ( ElementPlus )
  9. aplicación usar (enrutador)
  10. aplicación montar ( '#aplicación' )
  11. //Método - montaje global
  12. aplicación configuración _ Propiedades globales . $echartsResize = función ( ref:cualquiera ){
  13. ventana _ addEventListener ( 'redimensionar' , función ( ) {
  14. árbitro. cambiar el tamaño ()
  15. })
  16. }
  17. //Propiedades--montaje global
  18. aplicación configuración _ Propiedades globales . $axios = Axios ;
  19. app.config.globalProperties . $Test = " Estoy en el global " ;

En el uso de componentes:

        En la instancia del componente, debe introducir getCurrentInstance de vue y luego obtener el proxy a través de getCurrentInstance, y luego puede obtener la instancia montada globalmente para su uso.


   
   
  
  
  1. <configuración del guión>
  2. importar {onMounted} de 'vue' ;
  3. importar * como echarts de 'echarts' ;
  4. // Introducir getCurrentInstance
  5. importar {getCurrentInstance} desde 'vue'
  6. const {proxy} = getCurrentInstance ();
  7. const echartInit = ( datos ) => {
  8. // Basado en el dom preparado, inicializa la instancia de echarts
  9. var myChart = echarts. init ( documento . getElementById ( 'main' ));
  10. // dibujar el gráfico
  11. miGráfico. establecerOpción ({...});
  12. // Reactivo -- uso
  13. proxy.$echartsResize(miGráfico)
  14. }
  15. en Montado ( asíncrono () => {
  16. echartInit()
  17. })
  18. </script>

Supongo que te gusta

Origin blog.csdn.net/weixin_64310738/article/details/129034399
Recomendado
Clasificación