【发布时间】:2013-05-13 09:16:22
【问题描述】:
我可以使用 ng-include 在角度视图中包含部分内容,或者我可以使用服务器端部分内容在服务器上执行此操作。我正在考虑使用服务器端部分而不是角度部分,然后使用 ng-include(带有脚本标签),因为我在某处读到角度部分创建新范围,这可能会损害 $digest 的性能。
这有任何道理。使用 Angular 包含时对性能有什么影响
【问题讨论】:
标签: angularjs angularjs-ng-include
我可以使用 ng-include 在角度视图中包含部分内容,或者我可以使用服务器端部分内容在服务器上执行此操作。我正在考虑使用服务器端部分而不是角度部分,然后使用 ng-include(带有脚本标签),因为我在某处读到角度部分创建新范围,这可能会损害 $digest 的性能。
这有任何道理。使用 Angular 包含时对性能有什么影响
【问题讨论】:
标签: angularjs angularjs-ng-include
ng-include 将创建一个新作用域并在使用ng-include 的作用域上注册一个监视(在ng-include 使用的路径表达式上)。虽然这会产生一些额外的处理,但它仍然是基于 JavaScript 对象的,因此非常快。在大多数情况下,一块新手表加上一个额外的范围的影响应该完全可以忽略不计。
我能看到的唯一真正区别是ng-include 将异步包含/渲染您的部分,因此您可能会看到一些延迟,尤其是在通过网络获取部分时(但这可以通过预加载部分来缓解如此处所述:https://stackoverflow.com/a/12346901/1418796)
简而言之:在大多数情况下,如果预先加载了部分,ng-include 的影响应该可以忽略不计。
最后一条评论:“过早的优化是万恶之源”。在您测量您的应用程序的性能并确定ng-include 是一个瓶颈之前,不要开始微性能调整。
【讨论】: