NuxtJS
Demo of using ZingGrid and ZingChart in a NuxtJS app
This project demonstrates using zingchart-vue
in a NuxtJS application.
client-only tag
1. The client-only tag is required around the ZingChartVue tags
<template> <div> <client-only> <ZingChartVue ref="chart" :data="chartData" /> </client-only> </div> </template> <script setup> import { onBeforeMount } from 'vue' import ZingChartVue from "zingchart-vue"; const chartData = { type: "line", series: [ { values: [6, 4, 3, 4, 6, 6, 4], }, ], };
2. The zingchart (and probably ZC) variables can only be accessed in the onBeforeMounted lifecycle hook.
onBeforeMount(() => { zingchart.BUILDCODE = [ "BUILDE_CODE", "COMPANY_NAME", ]; });
3. To import a component globally, register it as a client-side plugin.
a. Create the plugin file plugins/zingchart-vue.client.js
(must be in plugins/
and have the .client
suffix)
b. Have the following the plugin file: (can also set license or other settings globally here) import ZingChartVue from "zingchart-vue";
export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.component("ZingChartVue", ZingChartVue); // Global settings zingchart.DEV.KEEPSOURCE = 0 zingchart.LICENCE = ['LICENSE']; });
4. To import the ZC and zingchart properties globally, create the plugin (uses .use instead of .component on nuxtApp.vueApp:
plugins/zingchart.client.js
import ZingChartVue from "zingchart-vue"; export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.use("ZingChartVue", ZingChartVue); });