1. 在Blazor中使用Chart.js

  1. 首先,从Chart.js官方网站下载Chart.js库文件。

    推荐下载这个构建好的版本https://cdnjs.com/libraries/Chart.js,最新版是v4.2.1

  2. 在Blazor项目中把刚刚下载好的Chart.js放到wwwroot目录下。

  3. 将下载的Chart.js文件复制到该文件夹中。

  4. 在Blazor项目中的Pages文件夹下_Host.cshtml文件中添加以下代码:

    <script src="_framework/blazor.webassembly.js"></script>
    <-- 添加下面这句 -->
    <script src="~/Chart.js"></script>
  5. 在Blazor组件中使用Chart.js,需要在组件中添加以下代码:

    注意!这个canvas标签的id非常重要!后面调用js的时候要用到它!

    在组件顶部添加一行代码,注入JSRuntime

     @page "/"
    @inject IJSRuntime JS <PageTitle>BlazorWithChartJS</PageTitle>
    <p>
    <h2>
    在Blazor中使用
    <code><strong>JavaScript</strong></code>
    调用
    <code><strong>Chart.JS</strong></code>
    绘制曲线图
    </h2>
    </p> <div class="chart">
    <canvas id="AnimationsChart"></canvas>
    </div>
  6. Index组件的@code代码块中,添加以下C#代码:

        protected override async Task OnAfterRenderAsync(bool firstRender)
    {
    if (firstRender)
    {
    var jsmodule = $"./Pages/Index.razor.js";
    var jSObject = await JS.InvokeAsync<IJSObjectReference>("import", jsmodule);
    await jSObject.InvokeVoidAsync("animationsChart");
    }
    await base.OnAfterRenderAsync(firstRender);
    }
  7. 接下来我们在组件所在目录下创建一个当前组件隔离的js文件Index.razor.js,在组件的代码块中,添加以下JavaScript代码:

    export function animationsChart() {
    const ctx = document.getElementById('AnimationsChart'); const data = {
    labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
    datasets: [{
    label: 'Looping tension',
    data: [65, 59, 80, 81, 26, 55, 40],
    fill: false,
    borderColor: 'rgb(75, 192, 192)',
    }]
    }; const config = {
    type: 'line',
    data: data,
    options: {
    animations: {
    tension: {
    duration: 1000,
    easing: 'linear',
    from: 1,
    to: 0,
    loop: true
    }
    },
    scales: {
    y: {
    min: 0,
    max: 100
    }
    }
    }
    }; new Chart(ctx, config);
    }

    这将创建一个简单的折线图,您可以根据需要更改类型、数据和选项。

  8. 运行Blazor应用程序,您应该能够看到您的Chart.js图表!

更多图表类型等信息,请参阅Chart.js官方文档。

上面的相关代码我放在GitHub了,有需要的可以查看:https://github.com/azlis/BlazorChartJS

在Blazor中使用Chart.js的更多相关文章

  1. Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异

    Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...

  2. vue中使用chart.js

    1,安装chart.js和vue-chart.js npm install chart.js --save npm install vue-chart.js --save 2,独立文件,方便修改 封装 ...

  3. Blazor和Vue对比学习(知识点杂锦3.04):Blazor中C#和JS互操作(超长文)

    C#和JS互操作的基本语法是比较简单的,但小知识点特别多,同时,受应用加载顺序.组件生命周期以及参数类型的影响,会有比较多坑,需要耐心的学习.在C#中调用JS的场景会比较多,特别是在WASM模式下,由 ...

  4. angulajs中引用chart.js做报表,修改线条样式

    目前还有个问题,在手机上看,当折线y轴值超过1000,会有点问题 1.下载chart js,可以用bower 命令下载 http://www.chartjs.org/docs/#line-chart- ...

  5. chart.js使用常见问题

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 在使用过程中新手可能会遇到很多问题导致图标无法显示.下面我们来看一下在使用过程中可能会遇到的问题. 刚开始用chart.j ...

  6. [转]Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  7. Chart.js入门教程

    Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...

  8. Chart.js docs

    原文链接:http://www.bootcss.com/p/chart.js/docs/ 引入Chart.js文件 首先我们需要在页面中引入Chart.js文件.此工具库在全局命名空间中定义了Char ...

  9. Chart.js中文文档-雷达图

    雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...

  10. chart.js在html中画曲线图

    http://www.bootcss.com/p/chart.js/docs/ http://www.chartjs.org/docs/   中有详细讲解 一.简介 Chart.js是一个基于HTML ...

随机推荐

  1. Mybatis-plus的自定义分页搭配sql Server数据库使用

    原文出处:mybatisplus查询分页并且排序报错解决方法,适用于自定义sql和sqlserver_十七梦的博客-CSDN博客 一开始使用过的是官方文档来写分页,结果出现了如果不在最后添加ORDER ...

  2. java从键盘输入数据

    一.从键盘输入字符串 1.nex和nextLine的区别 next()读取到有效字符后才可以结束输入,对输入有效字符之前遇到的空格键.Enter键或Tab键等结束符,next()会自动将其去掉,只有在 ...

  3. 生成Funnel漏斗图

    -----------第一步----------- import jsonlist_p = [{"action":"浏览商品","PV":5 ...

  4. animation 和 transition 的区别

    Transition 提供了从一种状态过渡到另一种状态的改变. Animation 则可以从不同关键帧(@keyframes)上设置多个过渡点. Transition 关注的是元素指定css属性的变化 ...

  5. vite + vue安装 注意事项

    一.要求node版本必须>12.0.0 1.node 如何升级 · 执行npm cache clean -f 清除缓冲 · npm install -g n 安装 n 模块  n模块用于管理 n ...

  6. UG二次开发-CAM-获取修改路径参数

    项目中要获取路径参数,网上大多是C++的例子,而本项目是用C#写的,探索了下,记录下. 以获取某条路径的刀具号为例,其他参数依此类推. using System; using System.Colle ...

  7. npm publish命令

    npm publish . 注意后面有个点,否则会报错

  8. 【Rust入门】(一)构建自己的第一个Rust项目

    安装Rust 参考文档,指定安装目录和镜像配置. rustc --version 检查是否安装成功. 构建程序 使用rustc编译运行 rustc 编译:rustc main.js 运行: Windo ...

  9. 关于C#的async和await

    1.async 与 await需要同时出现在方法中  如下图所示 public static async Task b() { await Task.Run(() => { //Thread.S ...

  10. Springboot中@RequestBody接收的对象传入首字母大写的参数时,无法接收到参数值的问题解决

    在Vo对象中的变量上添加@JsonProperty("")注解 postman测试 转载:https://blog.csdn.net/qq_39069718/article/det ...