在AngularJS中手动加载和卸载外部JavaScript

时间:2015-03-26 12:27:15

标签: javascript angularjs highcharts highcharts-ng

是否有可能告诉角度在显示视图时加载外部javascript并在视图离开时卸载它?

我可能有2个不兼容的javascript库:highcharts和highstocks。 Highstocks提供高图,但没有一些功能(没有3D,......)。使用Highcharts-ng仅在加载highstocks.js时有效。

但是对于其他一些观点,我想在某个特定图表上使用highcharts.js。

所以,在最坏的情况下,我希望有一些角度视图显示highcharts(加载highcharts.js),其他一些显示highstocks。但由于需要在index.html中加载这些外部javascripts,因此无法正常工作。

是否可以在视图中加载highcharts.js,在离开此视图时卸载它,在切换到另一个视图时加载highstocks.js?

由于

1 个答案:

答案 0 :(得分:1)

我建议您将Angularjs与Requirejs(http://requirejs.org)一起使用

虽然Angularjs没有任何内置的AMD功能,但github上有一些第三方模块可以帮助您实现这一点。我使用angularAMD(https://github.com/marcoslin/angularAMD),但还有其他选项,如ocLazyLoad(https://github.com/ocombe/ocLazyLoad)和其他选项。