首页 前端知识 【Angular引入Echarts踩坑指南】

【Angular引入Echarts踩坑指南】

2024-06-17 09:06:44 前端知识 前端哥 360 74 我要收藏

Angular项目首次接触引入Echarts报错

首次使用CSDN博客记录学习工作日志

Angular引入NgxEchartsModule考虑版本是否兼容问题

找到github上一个项目,解决我的困惑,已经尝试成功的解决步骤如下

  1. 通过npm卸载不兼容的echarts版本
  2. npm安装与angular脚手架能兼容的echarts版本
    大佬的github项目地址https://github.com/xieziyu/ngx-echarts
    链接,可以点星

未尝试的解决步骤

  1. 通过npm卸载angular
  2. npm安装与echarts能兼容的angular脚手架版本

angular与echarts对应兼容版本

ngx-echarts is an Angular (ver >= 2.x) directive for ECharts (ver >= 3.x).
Latest version @npm:
v14.x for Angular >= 14
v8.x for Angular >= 13
v7.x for Angular >= 11
v6.x for Angular >= 10, < 11
v5.x for Angular >= 6, < 10
v2.3.1 for Angular < 6

访问github

windows系统可以使用clash订阅链接,macos系统使用clashx订阅链接

使用npm安装echarts

//简单两个echarts安装命令
npm install echarts -S
npm install ngx-echarts -S

使用样例

  • 首先在angular的module.ts文件中引入echarts模块
    import { NgxEchartsModule } from ‘ngx-echarts’;
@NgModule({
  imports: [
    NgxEchartsModule.forRoot({
      /**
       * This will import all modules from echarts.
       * If you only need custom modules,
       * please refer to [Custom Build] section.
       */
      echarts: () => import('echarts'), // or import('./path-to-my-custom-echarts')
    }),
  ],
})
export class AppModule {}
  • 然后可以在declarations的组件中愉快玩耍了
    – component.html文件
<div echarts [options]="chartOption" class="demo-chart"></div>

– component.css文件

.demo-chart {
  height: 400px;
}

– component.ts文件,使用了官网的案例

import { Component, OnInit } from '@angular/core';
import { EChartsOption } from 'echarts';

@Component({
  selector: 'app-my-echarts',
  templateUrl: './my-echarts.component.html',
  styleUrls: ['./my-echarts.component.css']
})
export class MyEchartsComponent implements OnInit {

  constructor() { }

  ngOnInit() {
  }
  chartOption: EChartsOption = {
    tooltip: {
      trigger: 'item'
    },
    legend: {
      top: '5%',
      left: 'center'
    },
    series: [
      {
        name: 'Access From',
        type: 'pie',
        radius: ['40%', '70%'],
        avoidLabelOverlap: false,
        itemStyle: {
          borderRadius: 10,
          borderColor: '#fff',
          borderWidth: 2
        },
        label: {
          show: false,
          position: 'center'
        },
        emphasis: {
          label: {
            show: true,
            fontSize: '40',
            fontWeight: 'bold'
          }
        },
        labelLine: {
          show: false
        },
        data: [
          { value: 1048, name: 'Search Engine' },
          { value: 735, name: 'Direct' },
          { value: 580, name: 'Email' },
          { value: 484, name: 'Union Ads' },
          { value: 300, name: 'Video Ads' }
        ]
      }
    ]
}
}

生成图片

请添加图片描述
在这里插入图片描述

转载请注明出处或者链接地址:https://www.qianduange.cn//article/12482.html
标签
angular.js
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!