Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS加载模块异步_Javascript_Angularjs_Ajax - Fatal编程技术网

Javascript AngularJS加载模块异步

Javascript AngularJS加载模块异步,javascript,angularjs,ajax,Javascript,Angularjs,Ajax,在实习期间,我被指派制作一个基于AngularJS的应用程序,它应该显示各种小部件。基本过程如下: 应用程序启动后,从URL读取API密钥 API键通过$http.get()发送到API,API返回要显示的小部件列表 主控制器将这些小部件及其带有RequireJS的JS加载到视图中 小部件使用自己的键通过API加载自己的数据以显示 应用程序加载小部件和小部件加载数据的过程都在刷新计时器上 目前,我一直在努力让小部件显示出来。组件可以独立正常工作(当手动将小部件放入主体中时,小部件本身会显示数

在实习期间,我被指派制作一个基于AngularJS的应用程序,它应该显示各种小部件。基本过程如下:

  • 应用程序启动后,从URL读取API密钥
  • API键通过$http.get()发送到API,API返回要显示的小部件列表
  • 主控制器将这些小部件及其带有RequireJS的JS加载到视图中
  • 小部件使用自己的键通过API加载自己的数据以显示
  • 应用程序加载小部件和小部件加载数据的过程都在刷新计时器上
目前,我一直在努力让小部件显示出来。组件可以独立正常工作(当手动将小部件放入主体中时,小部件本身会显示数据,应用程序也会正确接收JSON。即使包括使用基于JSON调用的RequireJS的JavaScript文件,正如我添加的
console.log()
s,并在AJAX调用后正确显示


有人知道如何在第一次AJAX调用后加载这些小部件吗?

A1从来就不是为它设计的。试试ocLazyLoad。简单的方法是将小部件与Webpack等捆绑在一起,并同步加载整个内容。查看ocLazyLoad ATM,似乎是解决问题的方法。使用Webpack不会帮助,因为这基本上需要我加载所有小部件并隐藏我不需要的小部件。但是假设可能会有超过50个小部件,这不是一个快速或最佳的想法,因此延迟加载。捆绑并立即加载它们几乎总是比逐个加载它们更有效,从性能角度来看。因为Angular从未打算这样做为了支持延迟加载,ocLazyLoad是一个黑客,它会导致许多不明显的问题,需要很好地理解Angular是如何解决这些问题的,但是如果它对您有效,那也没关系。我将看看它是如何展开的。就目前而言,ocLazyLoad似乎已经解决了加载问题。感谢您的建议@estus^^A1从未被删除签名同意。试试ocLazyLoad。简单的方法是将小部件与Webpack等捆绑在一起,并同步加载整个内容。查看ocLazyLoad ATM似乎是解决问题的方法。使用Webpack不会有帮助,因为这基本上需要我加载所有小部件并隐藏我不需要的小部件。但假设没有可能会超过50个小部件,这不是一个快速或最佳的想法,因此延迟加载。从性能角度来看,一次捆绑和加载它们几乎总是比逐个加载它们更有效。由于Angular从未打算支持延迟加载,ocLazyLoad是一个黑客,会导致许多不明显的问题,需要很好的理解关于角度如何修复它们的争论,但如果它对你有效,没关系。我会看看它是如何展开的。就目前而言,ocLazyLoad似乎已经解决了加载的问题。谢谢你的建议@estus^^