【发布时间】:2020-06-29 20:30:36
【问题描述】:
我习惯了 Angular,但我刚刚开始使用通用(用于 SEO)。
我想使用 amcharts 4 中的地图,如果没有 Angular Universal,我没有问题。我知道这是一个已知问题,但我不明白为什么在我的情况下服务器会尝试加载图表并创建此错误:
ERROR Error: Uncaught (in promise): ReferenceError: addEventListener is not defined
ReferenceError: addEventListener is not defined
...
我的代码:
constructor(
@Inject(PLATFORM_ID) private platformId: Object
) {
}
ngOnInit(): void {
this.setUpChart();
}
setUpChart() {
if (isPlatformBrowser(PLATFORM_ID)) {
let chart = am4core.create("world-map", am4maps.MapChart);
// ...
}
}
【问题讨论】:
-
可能是在导入模块时调用了
addEventListener代码,即使你没有实例化图表。这取决于库的编写方式 -
您可能需要用平台检查包装
this.setUpChart(),以便仅在浏览器中运行时执行。
标签: angular typescript angular9 angular-universal amcharts4