Javascript 角度海图与传统应用程序冲突';s海图库

Javascript 角度海图与传统应用程序冲突';s海图库,javascript,angular,highcharts,Javascript,Angular,Highcharts,Angular 2+用于使用Highcharts的Spring MVC应用程序的新部分。稍后,highcharts图表(angular highcharts)被添加到使用angular 2+技术编写的新组件中。两侧使用相同的Highcharts 6版本。 初始化角度图表组件时,Highcharts已加载到网页中,并引发以下未捕获错误:Highcharts错误#16:www.Highcharts.com/errors/16 Highcharts不会被角度分量重新加载,并且执行H.error(cod

Angular 2+用于使用Highcharts的Spring MVC应用程序的新部分。稍后,highcharts图表(angular highcharts)被添加到使用angular 2+技术编写的新组件中。两侧使用相同的Highcharts 6版本。
初始化角度图表组件时,Highcharts已加载到网页中,并引发以下
未捕获错误:Highcharts错误#16:www.Highcharts.com/errors/16

Highcharts不会被角度分量重新加载,并且执行
H.error(code,true)
。 解决此冲突的最佳方法是什么?
是否应为遗留web应用程序创建其他
Highcharts\u X
全局变量?我不喜欢这种方法,因为Higcharts有效地使用了它,然后应该在许多地方的源代码中对其进行更改。(?)

是否可以告诉您库已加载并使用该库?

或者让它重新加载,而不会因为错误而中断JS

您可以使用全局定义的Highcharts,而不是两次加载Highcharts。 例如:

//import * as Highcharts from 'highcharts/highstock';
declare var Highcharts: any;

您必须删除正在加载的模块字符串,并为生成声明任何变量,而不会出现任何问题。

捆绑应用程序似乎存在问题。我看不到你的全部代码,也很难推断出如何解决这个问题,所以我只能猜测。我同意你的看法。目前我正在进行
Highcharts\u X
hack,希望将来能找到更好的解决方案。您能告诉我您是如何解决这一冲突的吗?我也面临同样的问题。目前我对解决方案不满意。我在MVC中使用hacked Highcharts src,其中Highcharts gobal变量被重命名。所以,angular插件可以初始化自己的Highcharts。不幸的是,我还不能尝试解决方案。在该项目中,Highcharts是通过angular2 Highcharts依赖项使用的。所以需要告诉angular2 highcharts如何使用现有的全局highcharts。是的,对于angular2 highcharts,您需要声明var,就像我的评论中那样。它适用于我的angular 6项目和全局加载的highcharts。