angularjs/rendering内联或使用ng-include之间的性能差异

Har*_*rry 8 angularjs angularjs-ng-include

我可以使用ng-include在角度视图中包含部分内容,或者我可以使用服务器端部分在服务器上执行此操作.我正在考虑使用服务器端部分而不是角度部分,然后使用ng-include(使用脚本标记),因为我在某处看到角度部分创建了新的范围,这可能会损害$ digest的性能.

这是否有效.使用角度包含时对性能的影响是什么

pko*_*rce 9

ng-include将创建一个新的作用域并在使用ng-include它的作用域上注册一个监视(在使用的路径表达式上)ng-include.虽然这会产生一些额外的处理,但它仍然是基于JavaScript的对象,因此非常快.在大多数情况下,新手表加上额外范围的效果应该完全可以忽略不计.

我能看到的唯一真正的区别是,ng-include将包含/异步渲染您的部分,因此您可能会看到一些延迟,尤其是在通过网络获取部分时(但这可以通过预加载部分来减轻,如下所述:https: //stackoverflow.com/a/12346901/1418796)

简而言之:在大多数情况下,ng-include如果预先加载部分,则效果应该可以忽略不计.

最后一条评论:" 过早优化是万恶之源 ".直到你衡量性能,不要启动MICR能调整你的应用程序,并确定ng-include是一个瓶颈.

  • 另一方面,由于异步机制,ng-includes(s)内部的ng-includes(s)将以非常快的速度开始显示性能下降.我在angularJS应用程序中进行的最佳优化是创建ng-include-cached指令(在命中缓存时同步). (2认同)