【问题标题】:Load controllers on demand in SPA - AngularJS在 SPA 中按需加载控制器 - AngularJS
【发布时间】:2013-10-27 18:10:44
【问题描述】:

我对整个 SPA 事物不熟悉,但我有兴趣开发一个。 网络上的所有教程都有 2 个控制器,它们都包含在主页中。 我的问题是按需加载控制器的最佳实践是什么, 例如,如果我有 5 页(在 SPA 世界中称为部分),则每一页都有不同的逻辑。所以我将有 5 个控制器,每个页面一个。我不认为在主页中加载所有 5 个控制器是好方法,那么我怎样才能按需加载 angularJS 控制器呢?以及如何卸载之前“页面”中使用的控制器?

如果有人有一个很好的 Angular 水疗教程,它有超过 2-3 个控制器,我很乐意提供链接。

【问题讨论】:

  • 怀疑 5 个控制器相当于大量代码,只需加载一次它们就可以节省大量开销
  • 5 是例如,如果应用程序更复杂并且有 20 个控制器怎么办?并不是所有页面都需要它们......
  • 您是在谈论文字 .js 文件还是控制器与视图/元素的实际绑定?
  • 您所说的文件大小节省是多少?你对此做过任何数学计算吗?您是否还研究过使用require.js 和角度?问题似乎非常假设,研究有限。如果你对这一切都不熟悉......可能最好先花时间使用和学习基础知识......然后在需要延迟加载时解决它
  • 很确定这就是他问这个问题的原因@charlietfl

标签: javascript angularjs single-page-application


【解决方案1】:

我认为这篇博文回答了我的问题,AngularJS + RequireJS

【讨论】:

    【解决方案2】:

    我们已经使用 ocLazyLoader 实现了这一点。它是依赖状态,对于每个状态,您都必须指定要加载的 js 文件。 这是链接https://oclazyload.readme.io/

    不过,我建议使用 grunt 或其他工具来缩小文件。这也将有助于提高性能,因为网络数据传输不再是问题,但打开与服务器的连接非常耗时。因此,最好一次缩小并加载所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 2013-08-27
      • 2014-03-16
      • 1970-01-01
      相关资源
      最近更新 更多