2013-05-18 8 views
8

ng-includeを使用して、角度表示の中に部分を含めることができます。または、サーバーサイド部分を使ってサーバー上で行うことができます。私は角度の部分的な部分の代わりにサーバー側の部分的な部分を使用し、次にng-include(スクリプトタグを含む)を使うことを考えています。angularjs/renderingインライン展開とng-includeのパフォーマンスの違い

これに妥当性はありますか?角度を使用してng-includeが使用されている範囲を(ng-includeが使用するパス式に)時計を新しいスコープを作成し、登録します

答えて

9

ng-includeが含まれている場合、パフォーマンスへの影響はどのようなものです。これにはいくつかの処理が追加されますが、JavaScriptベースのオブジェクトであり、非常に高速です。新しい時計の効果と追加のスコープは、ほとんどの場合完全に無視できるはずです。

私が見ることのできる唯一の違いは、ng-includeが部分的に非同期に部分的にレンダリング/レンダリングすることです。特に部分的にネットワークを介して部分的にフェッチするときに遅延が発生する可能性があります。ここで説明:https://stackoverflow.com/a/12346901/1418796)要するに

を:パーシャルはあらかじめロードされている場合は、ほとんどの場合、ng-includeの影響は無視できるはずです。

最後の1コメント:「早期最適化はすべての悪の根源です」です。 アプリケーションのパフォーマンスを測定し、ng-includeがボトルネックであると判断するまで、micrパフォーマンス調整を開始しないでください。

+2

一方、ng-repeat(ng-repeat)内のng-include(s)は、非同期的な主体性のために大きなパフォーマンスの低下を示すために非常に高速に開始します。私のangularJSアプリケーションで最適化したのは、ng-include-cachedディレクティブ(キャッシュにヒットするとき同期)を作成することでした。 – Guillaume86

+0

@ Guillaume86:その指令のソースコードを共有したいですか?私はとても興味があります。 – paldepind

+1

ここで@paldepindはhttps://gist.github.com/guillaume86/9272837ですが、最後の角度バージョンからの最後のngIncludeコードで新しいタグを書きたいと思うかもしれません。私は古い1.0.xをベースとして使用しました。 – Guillaume86

関連する問題