在Blazor中使用Chart.js
1. 在Blazor中使用Chart.js
首先,从Chart.js官方网站下载Chart.js库文件。
推荐下载这个构建好的版本https://cdnjs.com/libraries/Chart.js,最新版是v4.2.1在Blazor项目中把刚刚下载好的
Chart.js放到wwwroot目录下。将下载的Chart.js文件复制到该文件夹中。
在Blazor项目中的Pages文件夹下_Host.cshtml文件中添加以下代码:
<script src="_framework/blazor.webassembly.js"></script>
<-- 添加下面这句 -->
<script src="~/Chart.js"></script>
在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>
在
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);
}
接下来我们在组件所在目录下创建一个当前组件隔离的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);
}
这将创建一个简单的折线图,您可以根据需要更改类型、数据和选项。
运行Blazor应用程序,您应该能够看到您的Chart.js图表!

更多图表类型等信息,请参阅Chart.js官方文档。
上面的相关代码我放在GitHub了,有需要的可以查看:https://github.com/azlis/BlazorChartJS
在Blazor中使用Chart.js的更多相关文章
- Ionic中使用Chart.js进行图表展示以及在iOS/Android中的性能差异
Angular Chart 简介 在之前的文章中介绍了使用 Ionic 开发跨平台(iOS & Android)应用中遇到的一些问题的解决方案. 在更新0.1.3版本的过程中遇到了需要使用图表 ...
- vue中使用chart.js
1,安装chart.js和vue-chart.js npm install chart.js --save npm install vue-chart.js --save 2,独立文件,方便修改 封装 ...
- Blazor和Vue对比学习(知识点杂锦3.04):Blazor中C#和JS互操作(超长文)
C#和JS互操作的基本语法是比较简单的,但小知识点特别多,同时,受应用加载顺序.组件生命周期以及参数类型的影响,会有比较多坑,需要耐心的学习.在C#中调用JS的场景会比较多,特别是在WASM模式下,由 ...
- angulajs中引用chart.js做报表,修改线条样式
目前还有个问题,在手机上看,当折线y轴值超过1000,会有点问题 1.下载chart js,可以用bower 命令下载 http://www.chartjs.org/docs/#line-chart- ...
- chart.js使用常见问题
Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 在使用过程中新手可能会遇到很多问题导致图标无法显示.下面我们来看一下在使用过程中可能会遇到的问题. 刚开始用chart.j ...
- [转]Chart.js入门教程
Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...
- Chart.js入门教程
Chart.js是一个简单.面向对象.为设计者和开发者准备的图表绘制工具库. 相信大部分人都一样,看到一大筐用文本或者表格形式呈现的数据就头疼.因为这种呈现方式也太无聊了吧...而且这对于我们处理原始 ...
- Chart.js docs
原文链接:http://www.bootcss.com/p/chart.js/docs/ 引入Chart.js文件 首先我们需要在页面中引入Chart.js文件.此工具库在全局命名空间中定义了Char ...
- Chart.js中文文档-雷达图
雷达图或蛛网图(Radar chart) 简介 A radar chart is a way of showing multiple data points and the variation bet ...
- chart.js在html中画曲线图
http://www.bootcss.com/p/chart.js/docs/ http://www.chartjs.org/docs/ 中有详细讲解 一.简介 Chart.js是一个基于HTML ...
随机推荐
- Redis Template部分接口学习记录
Redis Template是操作redis的一个封装模板,让我们更加简便的去操作redis. 操作键类型的接口: GeoOperations Redis的地理空间操作,如GEOADD,GEORADI ...
- Windows修改用户名
修改用户名 右键此电脑>>管理>>本地用户和组>>用户,找到要修改的用户,重命名 修改用户home目录名 1.激活管理员账号 右键此电脑>>管理> ...
- 通过【leaflet】 调用高德离线瓦片地图
官网:https://leafletjs.com/ 首先在官网下载[leaflet.css]和[leaflet.js] 引用js和css <link href="js/leaflet. ...
- 【相邻父元素选择器】为啥p元素里面的h3也被选择了呢?求赐教
<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...
- vue引入多个指令文件
单个指令引入,在main.js(入口JS文件)中引入你已经写好的指令文件,可以省略文件后缀: // main.js import focus from 'xxx/directive'多个指令引入 Vu ...
- sql年、季度、月的第一天
SELECT dateadd(yy,datediff(yy,0,getdate()),0) select dateadd(qq,datediff(qq,0,getdate()),0) select d ...
- Centos 配置网络自启和静态IP和主机名
1. 修改配置文件 vim /etc/sysconfig/network-scripts 2. vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPR ...
- 整数划分问题(Java递归)
整数划分问题(Java递归) 文章目录 整数划分问题(Java递归) 0. 问题描述 1.递归式 2.代码 3.参考 0. 问题描述 整数划分问题 将正整数n表示成一系列正整数之和:n=n1+n2+- ...
- 在.net core中开发web页面,更新html代码刷新不生效的问题
因为在.net core之后的版本,程序都是以控制台应用程序的方式存在,所以一些老的项目升级后,会出现这样的情况, 解决方法,在nuget中引入 Microsoft.AspNetCore.Mvc.Ra ...
- arcengine动态显示所需字段值
需求:实现和GIS桌面端中Identify的类似功能,鼠标滑动的时候可以显示鼠标所在位置的要素的指定字段的值.. 主要操作流程: ①先打开一个对话框,用于选择需要显示的图层和字段名 ②点击确定之后,在 ...