8

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

这有什么道理。使用角度包含时对性能有什么影响

4

1 回答 1

9

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

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

简而言之:在大多数情况下,ng-include如果 partials 是 pre-loaded ,则 的影响应该可以忽略不计

最后一条评论:“过早的优化是万恶之源”。在您测量应用程序的性能并确定这ng-include是一个瓶颈之前,不要开始微性能调整。

于 2013-05-18T08:29:35.857 回答