2016-11-23 10 views
2

Angular 2の内部DOM操作については「簡単な」質問があります。 Angular 2は、仮想DOM、インクリメンタルDOMまたは何を使用していますか?私はAngular 2がDOM操作のために内部的に使うものを理解するためにインターネット上をすべて見てきましたが、見つけられないようです。Angular 2のDOM操作

私は彼らがコンポーネントをどのように作成するのか、開発者がどのようにして私たちが望むカプセル化戦略を使用するのか理解しています。

変更を適用するためにゾーンを使用して変更と観測値を検出することは理解していますが、内部DOM操作のための独自のロジックを思いついたか、または実際のDOMで操作していますか?

Reactには仮想DOMがあり、Emberには光沢があり、他のフレームワークにはincremental domが使用されます。 Angular 2は何を使用していますか?

TIA。

+1

あなたはコメントをお寄せいただきありがとうございます@tibbusねえAngular2 https://angular.io/docs/ts/latest/guide/attribute-directives.html – tibbus

+0

内のディレクティブとDOMを操作することができます。 Angular 2が内部的にDOMをどのように操作するかを理解しようとしています。 Reactは仮想DOMを使用します。 – btinoco

+0

[http://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.html]をご覧ください –

答えて

1

我々はコンポーネントを作成するたびに、角度は、その特定のコンポーネントの影DOMである、 shadowRootにそのテンプレートを置きます。 そうすることで、DOMツリーとスタイルカプセル化を無料で入手できますか? しかし、ブラウザにシャドウDOMがないとどうなりますか?これらの環境で は角度2を使用できないということですか?私たちはできる。実際にはAngular 2 はデフォルトでネイティブシャドーDOMを使用せず、エミュレーションを使用します。ネイティブシャドーDOMが使用されていない場合は、 の の技術的には正しくなるように、 コンポーネントに対してはshadowRootも作成されません。

より:http://blog.thoughtram.io/angular/2015/06/29/shadow-dom-strategies-in-angular2.html#understanding-shadow-dom

+0

回答ありがとう@manolis。 「Reactは仮想ドームを使用してDomを内部的に操作する」を参照してください。これは、実ドミノと仮想ドミノの差分をとり、変更されたノードにパッチを当てます。 EmberはGlimmerでdomを操作します。次に、他のフレームワークでdomを操作するための増分domがあります。私はAngular 2が何を使用しているか知りたいですか?バーチャルドーム、光り輝く、増分ドーム、生Domのようなもの? – btinoco