Angularjs 在需要时初始化依赖关系?

Angularjs 在需要时初始化依赖关系?,angularjs,Angularjs,我有一个有很多外部依赖的角度网站。其中一些依赖项只在一种状态下使用,实际上不需要在页面的初始加载时启动 是否可以推迟加载?您可以通过创建一个加载函数来动态附加js文件,并在需要时调用它: function loadjsfile(filename){ //if filename is a external JavaScript file var fileref=document.createElement('script') fileref.setAttribute("ty

我有一个有很多外部依赖的角度网站。其中一些依赖项只在一种状态下使用,实际上不需要在页面的初始加载时启动


是否可以推迟加载?

您可以通过创建一个加载函数来动态附加js文件,并在需要时调用它:

function loadjsfile(filename){
    //if filename is a external JavaScript file
    var fileref=document.createElement('script')
    fileref.setAttribute("type","text/javascript")
    fileref.setAttribute("src", filename)
}
电话:

loadjscssfile("myscript.js")

使用服务加载依赖项。您可以使用服务加载facebook LIB,这样,只有angular注入该服务时才会发生。如果它开始获取到非站点库的链接,从技术上讲,这可能被视为脱离主题,但是有一个库可以处理此问题。查看GitHub上的angular lazyload。这里的问题是,如果这些javascript文件是angular模块或依赖项,angular在加载时将不知道它们存在,并且无法访问它们。这并不能解决延迟加载angular模块的问题