gpt4 book ai didi

dart - 有没有人设法让 Chartjs 在 AngularDart 中工作?

转载 作者:行者123 更新时间:2023-12-03 02:46:16 25 4
gpt4 key购买 nike

更新:已解决。我在 index.html 文件中遗漏了用于 Chartjs 的脚本,糟糕:

    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>

按照示例,它仅适用于 Dart,但似乎不适用于 AngularDart

我正在使用一个全新的 Angular 网络应用程序,并根据 Dart 示例进行了修改。

我向 app_component.html 添加了相同的 DIV 元素,但有一个异常(exception),这是一个局部变量,因此我可以通过 ViewChild:

<div>
<p>Canvas</p>
<div class="wrapper">
<canvas #theCanvas id="canvas" height="450" width="600"></canvas>
</div>
</div>

然后我将样式添加到 app_component.css(加上边框以查看 Canvas )。我什至可以绘制一个矩形并查看它:

div.wrapper {
margin: 0 auto;
max-width: 800px;
text-align: center;
font-style: italic;
border: #6bc5ff 1px solid;
}

然后我将来自 Dart 示例的相同图表代码添加到 app_commponent.dart 文件:

 Angular imports...
import 'package:chartjs/chartjs.dart';

@Component(
selector: 'my-app',
styleUrls: const ['app_component.css'],
templateUrl: 'app_component.html',
directives: const [materialDirectives, HelloDialog],
providers: const [materialProviders],
)
class AppComponent implements AfterContentInit, AfterViewInit {
@ViewChild('theCanvas')
ElementRef canvas;

CanvasElement canvasEl;

math.Random rnd = new math.Random();
List<String> months = <String>[
"January", "February", "March", "April", "May", "June"];

ngAfterContentInit() {
canvasEl = canvas.nativeElement;
}

ngAfterViewInit() {
var data = new LinearChartData(labels: months, datasets: <ChartDataSets>[
new ChartDataSets(
label: "My First dataset",
backgroundColor: "rgba(220,220,220,0.2)",
data: months.map((_) => rnd.nextInt(100)).toList()),
new ChartDataSets(
label: "My Second dataset",
backgroundColor: "rgba(151,187,205,0.2)",
data: months.map((_) => rnd.nextInt(100)).toList())
]);

var config = new ChartConfiguration(
type: 'line', data: data, options: new ChartOptions(responsive: true));

Chart chart = new Chart(canvasEl, config);
}
}

我将依赖项添加到 pubspec.yaml:

chartjs:

这又包含了 js 依赖项。正如我提到的,我可以进行绘制调用,例如绘制线条,所以我知道 Canvas 可以正常工作。

Dartium 的控制台显示错误:

Uncaught Unhandled exception:
Not a valid JS object
#0 JsNative.callConstructor (dart:js:1461)
#1 Chart.Chart (package:chartjs/chartjs.dart_js_interop_patch.dart:31:30)
#2 AppComponent.ngAfterViewInit (package:DeuronNG/app_component.dart:59:23)
...

有谁知道我是否遗漏了什么或 JS 错误是什么意思?

最佳答案

我在 index.html 文件中遗漏了用于 Chartjs 的脚本,糟糕:

<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.4.0/Chart.min.js"></script>

关于dart - 有没有人设法让 Chartjs 在 AngularDart 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42184358/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com