Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.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
angularjs/内联或使用ng include之间的渲染性能差异_Angularjs_Angularjs Ng Include - Fatal编程技术网

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

angularjs/内联或使用ng include之间的渲染性能差异,angularjs,angularjs-ng-include,Angularjs,Angularjs Ng Include,我可以使用ng include在角度视图中包含一个部分,也可以在服务器上使用服务器端部分。我正在考虑使用服务器端部分而不是角度部分,然后使用ng include(带有script标记),因为我在某处读到角度部分创建了新的作用域,这可能会影响$digest的性能 这有什么合法性吗。使用angular include时对性能有何影响将创建一个新的作用域,并在使用ng include的作用域上注册一个手表(位于ng include使用的路径表达式上)。虽然这需要一些额外的处理,但它仍然是基于JavaS

我可以使用ng include在角度视图中包含一个部分,也可以在服务器上使用服务器端部分。我正在考虑使用服务器端部分而不是角度部分,然后使用ng include(带有script标记),因为我在某处读到角度部分创建了新的作用域,这可能会影响$digest的性能


这有什么合法性吗。使用angular include时对性能有何影响将创建一个新的作用域,并在使用
ng include
的作用域上注册一个手表(位于
ng include
使用的路径表达式上)。虽然这需要一些额外的处理,但它仍然是基于JavaScript对象的,因此速度非常快。在大多数情况下,一块新手表加上一个额外的示波器的影响应该是完全可以忽略不计的

我能看到的唯一真正的区别是
ng include
将异步包含/呈现部分,因此您可能会看到一些延迟,特别是在通过网络获取部分时(但这可以通过如下所述预加载部分来缓解:)

简而言之:在大多数情况下,
ng include
的影响应该可以忽略不计,如果部分是预加载的


最后一句话:“过早优化是万恶之源”。在测量应用程序的性能并确定
ng include
是一个瓶颈之前,不要启动micr性能调整。

另一方面,ng repeat中的ng include将很快启动,以显示由于异步机制而导致的性能大幅度下降。我在angularJS应用程序中做的最好的优化是创建一个ng include缓存指令(在命中缓存时是同步的)。@Guillaume86:你愿意分享该指令的源代码吗?我会很感兴趣的。@paldepind在这里:但您可能想用上一个版本的最后一个ngInclude代码编写一个新的。我的使用了旧的1.0.x作为基础。