首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nestjs Svelte -在Svelte文件中导入顶点

Nestjs Svelte -在Svelte文件中导入顶点
EN

Stack Overflow用户
提问于 2021-10-25 13:28:29
回答 1查看 283关注 0票数 1

我是Nodejs的新手。我已经创建了一个Nestjs项目,我正在使用svelte模板。我试图使用apexcharts创建图表,它的工作方式如下:

代码语言:javascript
复制
// Chart.svelte
<script>
    import Layout from './partials/Layout.svelte';
</script>
<svelte:head>
    <script src="https://cdn.jsdelivr.net/npm/apexcharts"></script>
    <script src="/js/chart.js" defer></script>
</svelte:head>
<Layout>
    <div id="chart"></div>
</Layout>

剧本是这样的:

代码语言:javascript
复制
// chart.js
var options = {
    chart: {type: 'bar'},
    series: [{name: 'sales', data: [30,40,45,50,49,60,70,91,125]}],
    xaxis: {categories: [1991,1992,1993,1994,1995,1996,1997, 1998,1999]}
}
var chart = new ApexCharts(document.querySelector("#chart"), options);
chart.render();

但当我试着用这样的苗条文件做这件事时:

代码语言:javascript
复制
// Chart.svelte
<script>
    import Layout from './partials/Layout.svelte';
    import { onMount } from 'svelte';

    let options = {
        chart: {type: 'bar'},
        series: [{name: 'sales', data: [30,40,45,50,49,60,70,91,125]}],
        xaxis: {categories: [1991,1992,1993,1994,1995,1996,1997, 1998,1999]}
    };
    let ApexCharts;
    let loaded = false;
    
    const machart = (node, options) => {
        if (!loaded) {
            return;
        }
        let myChart = new ApexCharts(node, options)
        myChart.render();

        return {
            update(options) {
                myChart.updateOptions(options);
            },
            destroy() {
                myChart.destroy();
            }
        }
    }

    onMount(async () => {
        console.log("before import");
        const module = await import('apexcharts');
        ApexCharts = module.default;
        window.ApexCharts = ApexCharts;
        loaded = true;
    });
</script>

<Layout>
    {#if loaded}
    <div use:machart={options}></div>
    {:else}
    <div class="spinner-border text-success" role="status">
        <span class="visually-hidden">Loading...</span>
    </div>
    {/if}
</Layout>

onMount根本没有触发,它一直显示加载div。

我的问题是如何在svelte文件中使用import ApexCharts from 'apexcharts';导入apexcharts,并在其中编写所有js脚本?

EN

回答 1

Stack Overflow用户

发布于 2021-12-09 07:21:08

如果您想在您的项目中使用apex曲线图,那么首先需要使用npm i应用程序图表,然后您可以使用这一行代码:从‘Apexcharts’导入apexcharts;您可以在npm文档中签出它以获取ApexCharts https://www.npmjs.com/package/apexcharts,我更喜欢使用npm而不是仅仅使用cdn。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69708926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档