以下方法适用于 Angular 5 CLI。
为简单起见,我使用了由 Oliverbinns 创建和提供的类似 d3gauge.js 演示 - 您可以在 Github 上轻松找到。
所以首先,我只是在与资产文件夹相同的级别上创建了一个名为externalJS的新文件夹。然后我复制了以下 2 个 .js 文件。
然后我确保在主index.html 中声明两个链接指令
<script src="./externalJS/d3.v3.min.js"></script>
<script src="./externalJS/d3gauge.js"></script>
然后我在Gauge.component.ts组件中添加了一个类似的代码,如下所示:
import { Component, OnInit } from '@angular/core';
declare var d3gauge:any; <----- !
declare var drawGauge: any; <-----!
@Component({
selector: 'app-gauge',
templateUrl: './gauge.component.html'
})
export class GaugeComponent implements OnInit {
constructor() { }
ngOnInit() {
this.createD3Gauge();
}
createD3Gauge() {
let gauges = []
document.addEventListener("DOMContentLoaded", function (event) {
let opt = {
gaugeRadius: 160,
minVal: 0,
maxVal: 100,
needleVal: Math.round(30),
tickSpaceMinVal: 1,
tickSpaceMajVal: 10,
divID: "gaugeBox",
gaugeUnits: "%"
}
gauges[0] = new drawGauge(opt);
});
}
}
最后,我只是在相应的 Gauge.component.html 中添加了一个 div
<div id="gaugeBox"></div>
等等!:)
