在AngularJS控制器之一中延迟加载外部JavaScript

wir*_*uma 9 angularjs

我的一些路线需要外部JS的功能.我不想一次性加载它们,因为这些JS仅在某些路径中需要(例如,/upload需要一些JS用于照片上传,/photos需要另一个JS用于灯箱,/funny需要JS用于动画的东西等).

懒惰加载那些外部JavaScripts的最佳做法是什么?

这些路由可以多次访问(例如,用户可以去/upload,然后/photos/upload重新)

ale*_*683 2

我知道处理此类情况的唯一方法是使用路线的“解决”方法。此方法可用于定义在实例化路由控制器之前加载的依赖项。此方法的不同可能返回类型之一是承诺。因此,您可以使用它来开始异步加载外部 JavaScript 代码,并返回一个在加载外部脚本后立即解析的 Promise。

有关此内容的文档可以在这里找到:https://docs.angularjs.org/api/ngRoute/provider/$routeProvider在“何时”部分。