Skip to content

首先安装 ECharts 库:

首先,确保你的Angular项目已经创建并处于运行状态。然后,可以使用 npm 或 yarn 安装 ECharts。

bash
npm install echarts
# 或
yarn add echarts

对于 Angular 2+ 项目,npm 中的包通常被导入到特定的模块或组件中使用,以确保最小化影响范围并提高代码可维护性。但是,如果你想在整个应用程序中共享一个 npm 包,可以通过以下方式实现类似全局引入的效果:

  1. 创建一个 Angular 服务

创建一个 Angular 服务,该服务负责包装 ECharts 的功能,并在需要时提供给其他组件。

bash
ng generate service services/echarts #可以简写为ng g service services/echarts

这将生成一个名为 echarts.service.ts 的文件。

  1. 在 echarts.service.ts 中封装 ECharts 功能
ts
import { Injectable } from '@angular/core';
import * as echarts from 'echarts';

@Injectable({
  providedIn: 'root'
})
export class EchartsService {
  private echartsInstance: any;

  constructor() {
    this.echartsInstance = echarts;
  }

  getEchartsInstance(): any {
    return this.echartsInstance;
  }
}
  1. 在需要使用 ECharts 的组件中注入服务
ts
import { Component, OnInit } from '@angular/core';
import { EchartsService } from './echarts.service';

@Component({
  selector: 'app-your-component',
  templateUrl: './your-component.component.html',
  styleUrls: ['./your-component.component.css']
})
export class YourComponent implements OnInit {
  private echarts: any;

  constructor(private echartsService: EchartsService) {
    this.echarts = this.echartsService.getEchartsInstance();
  }

  ngOnInit(): void {
    // 使用 this.echarts 初始化图表并配置
    const chartInstance = this.echarts.init(document.getElementById('echarts-container'));
    const options = {
      // ... 配置项
    };
    chartInstance.setOption(options);
  }
}

在此示例中,EchartsService 封装了 ECharts 功能,而组件通过注入该服务获取 ECharts 实例,并在需要时初始化和配置图表。

这种方式可以实现在整个应用程序中共享 ECharts 实例,类似于全局引入的效果。

  1. 在模板中创建容器:

在你的 Angular 组件模板中创建一个用于显示图表的 HTML 元素。

html
<div id="echarts-container" style="width: 100%; height: 400px;"></div>

这样,你可以在整个项目中的任何组件中直接使用 echarts 对象来创建和配置图表。