Rumah > hujung hadapan web > View.js > teks badan

Cara menggunakan Vue untuk melaksanakan carta statistik reka letak penyesuaian

王林
Lepaskan: 2023-08-20 22:25:51
asal
958 orang telah melayarinya

Cara menggunakan Vue untuk melaksanakan carta statistik reka letak penyesuaian

Cara menggunakan Vue untuk melaksanakan carta statistik reka letak penyesuaian

Ikhtisar:
Dalam aplikasi web moden, carta statistik merupakan bahagian penting dalam memaparkan data. Menggunakan Vue.js anda boleh melaksanakan reka letak adaptif carta statistik dengan mudah untuk menyesuaikan dengan saiz skrin dan jenis peranti yang berbeza. Artikel ini akan memperkenalkan cara menggunakan Vue dan beberapa perpustakaan carta yang biasa digunakan untuk mencapai matlamat ini.

  1. Buat projek Vue dan pasang dependencies
    Pertama, kita perlu mencipta projek Vue. Anda boleh menggunakan Vue CLI untuk membina struktur projek dengan cepat. Jalankan arahan berikut dalam terminal untuk mencipta projek Vue baharu:
vue create vue-chart-demo
Salin selepas log masuk

Seterusnya, masukkan folder projek:

cd vue-chart-demo
Salin selepas log masuk

Kemudian, pasang beberapa kebergantungan biasa:

npm install vue-chartjs chart.js vue-resize-sensor
Salin selepas log masuk
  1. Tambah komponen carta statistik
    dalam direktori src/komponen , buat fail bernama Chart.vue. Dalam fail ini, kami akan menulis kod untuk komponen carta statistik.

Mula-mula, import kebergantungan yang diperlukan:

import { Line, mixins } from 'vue-chartjs';
import { ResizeSensor } from 'vue-resize-sensor';
Salin selepas log masuk

Kemudian, gunakan komponen Line pustaka vue-chartjs untuk mencipta carta statistik:

export default {
  extends: Line,
  mixins: [mixins.reactiveProp],
  props: ['chartData', 'options'],
  mounted() {
    this.addResizeListener();
    this.renderChart(this.chartData, this.options);
  },
  beforeDestroy() {
    this.removeResizeListener();
  },
  methods: {
    addResizeListener() {
      new ResizeSensor(this.$el, this.updateChartSize);
      this.updateChartSize();
    },
    removeResizeListener() {
      this.removeResizeListener(this.$el, this.updateChartSize);
    },
    updateChartSize() {
      const chart = this.$data._chart;
      const { width, height } = chart.canvas.parentElement.getBoundingClientRect();
      chart.resize(width, height);
      chart.options.maintainAspectRatio = false;
      chart.update();
    },
  },
};
Salin selepas log masuk

Dalam komponen ini, kami menggunakan kata kunci extends untuk mewarisi Line of the vue komponen perpustakaan -chartjs. Kemudian, data yang dihantar kepada komponen terikat dengan data dalaman komponen melalui sifat mixins.reactiveProp mixin. Dalam fungsi cangkuk yang dipasang, kami memaparkan carta dan menambah ResizeSensor untuk memantau perubahan saiz bekas induk. Dalam kaedah updateChartSize, kami mengemas kini saiz carta dan melaraskan dimensi untuk mencapai reka letak penyesuaian.

  1. Menggunakan Komponen Carta Statistik
    Dalam fail src/App.vue, kami akan menggunakan komponen Carta Statistik yang baru kami buat.

Mula-mula, import komponen Carta:

import Chart from './components/Chart.vue';
Salin selepas log masuk

Kemudian, tambahkan kod penggunaan komponen Carta dalam templat:

<template>
  <div id="app">
    <Chart :chart-data="chartData" :options="chartOptions"></Chart>
  </div>
</template>
Salin selepas log masuk

Seterusnya, tentukan cartaData dan cartaPilihan dalam skrip:

rreee

Dalam contoh ini, kami tentukan objek chartData untuk menyimpan data carta. Ia mengandungi tatasusunan label untuk mewakili label paksi-X, dan tatasusunan set data untuk mewakili data paksi-Y. Objek chartOptions digunakan untuk mengkonfigurasi sifat carta, seperti sama ada ia responsif dan sama ada ia mengekalkan nisbah bidang.

  1. Kompil dan jalankan projek
    Kini, kami telah menulis komponen carta statistik reka letak penyesuaian. Untuk menyusun dan menjalankan projek, kami menjalankan arahan berikut dalam terminal:
<script>
export default {
  name: 'App',
  components: {
    Chart,
  },
  data() {
    return {
      chartData: {
        labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
        datasets: [
          {
            label: 'Data',
            backgroundColor: 'rgba(75,192,192,0.4)',
            borderColor: 'rgba(75,192,192,1)',
            data: [65, 59, 80, 81, 56, 55, 40],
          },
        ],
      },
      chartOptions: {
        responsive: true,
        maintainAspectRatio: false,
      },
    };
  },
};
</script>
Salin selepas log masuk

Buka http://localhost:8080 dalam penyemak imbas anda dan anda akan melihat halaman yang mengandungi carta statistik. Cuba ubah saiz tetingkap dan anda akan mendapati bahawa carta boleh dipaparkan secara adaptif pada saiz skrin yang berbeza.

Ringkasan:
Dengan menggunakan Vue.js dan beberapa perpustakaan carta biasa, kami boleh melaksanakan carta statistik reka letak adaptif dengan mudah. Dalam artikel ini, kami memperkenalkan cara membuat projek Vue dan memasang kebergantungan, cara menulis komponen carta statistik dan menyediakan contoh mudah untuk menunjukkan cara menggunakan komponen carta statistik. Saya harap artikel ini membantu anda dan membolehkan anda memaparkan data dengan lebih fleksibel semasa membangunkan aplikasi web.

Atas ialah kandungan terperinci Cara menggunakan Vue untuk melaksanakan carta statistik reka letak penyesuaian. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan